Java电子书:PostgreSQL技术内幕:查询优化深度探索 PDF 电子书 Java吧 java8.com3 M9 z: U3 ?. R' v
0 t4 x) m3 _( F作者:张树杰出版社:电子工业出版社出版时间:2018年06月
, i& v7 z" `! s/ p
8 W7 t" z. v/ J3 N3 o$ ~编号:166-Java吧资源免费-X0236【Java吧 java8.com】 T8 H1 P+ j8 E7 g* @* I
3 }+ Q& n! p) a2 \
$ [$ v0 V F; y. l# r! g
& l; j( x a4 Z0 A) d目录:
/ q- |* N5 `- e第1章 概述 1 1.1 查询优化的简介 1 1.2 逻辑优化 3 1.2.1 关系模型 3 1.2.2 逻辑优化示例 8 1.3 物理优化 10 1.3.1 物理优化的4个“法宝” 12 1.3.2 物理路径的生成过程 14 1.4 文件介绍 17 1.5 示例的约定 18 1.6 小结 19
! l. Y! B' E/ B3 s9 K7 i0 {第2章 查询树 20 2.1 Node的结构 20 2.2 Var结构体 21 2.3 RangeTblEntry结构体 23 2.4 RangeTblRef结构体 25 2.5 JoinExpr结构体 26 2.6 FromExpr结构体 27 2.7 Query结构体 27 2.8 查询树的展示 31 2.9 查询树的遍历 31 2.10 执行计划的展示 32 2.11 小结 33
# `: \3 L5 t2 d. e$ E: E# i" S; s0 w. d第3章 逻辑重写优化 34 3.1 通用表达式 35 3.2 子查询提升 36 3.2.1 提升子连接 37 3.2.2 提升子查询 51 3.3 UNION ALL优化 68 3.4 展开继承表 69 3.5 预处理表达式 71 3.5.1 连接Var的溯源 71 3.5.2 常量化简 72 3.5.3 谓词规范 73 3.5.4 子连接处理 79 3.6 处理HAVING子句 80 3.7 Group By键值消除 81 3.8 外连接消除 82 3.9 grouping_planner的说明 91 3.10 小结 92 8 {3 x% N! V4 A! ]6 _1 t; G4 P
第4章 逻辑分解优化 93 4.1 创建RelOptInfo 94 4.1.1 RelOptInfo结构体 94 4.1.2 IndexOptInfo结构体 97 4.1.3 创建RelOptInfo 100 4.2 初识等价类 102 4.3 谓词下推 106 4.3.1 连接条件的下推 106 4.3.2 过滤条件的下推 112 4.3.3 连接顺序 113 4.3.4 deconstruct_recurse函数 118 4.3.5 make_outerjoininfo函数 124 4.3.6 distribute_qual_to_rels函数 132 4.3.7 reconsider_outer_join_clauses函数 151 4.3.8 generate_base_implied_equalities函数 156 4.3.9 记录表之间的等价关系 157 4.4 PlaceHolderVar的作用 158 4.5 Lateral语法的支持 161 4.5.1 Lateral的语义分析 162 4.5.2 收集Lateral变量 164 4.5.3 收集Lateral信息 164 4.6 消除无用连接项 166 4.7 Semi Join消除 171 4.8 提取新的约束条件 172 4.8.1 提取需要满足的条件 173 4.8.2 提取流程 174 4.8.3 选择率修正 176 4.9 小结 177
/ v: U. I, Q6 o/ d第5章 统计信息和选择率 178 5.1 统计信息 178 5.1.1 PG_STATISTIC系统表 181 5.1.2 PG_STATISTIC_EXT系统表 185 5.1.3 单列统计信息生成 187 5.1.4 多列统计信息生成 196 5.2 选择率 200 5.2.1 使用函数依赖计算选择率 204 5.2.2 子约束条件的选择率 208 5.2.3 基于范围的约束条件的选择率修正 211 5.3 OpExpr的选择率 213 5.3.1 eqsel函数 215 5.3.2 scalargtsel函数 217 5.3.3 eqjoinsel函数 220 5.4 小结 226
2 L1 g3 G# s/ v6 ~1 p第6章 扫描路径 227 6.1 代价(Cost) 228 6.1.1 代价基准单位 228 6.1.2 启动代价和整体代价 231 6.1.3 表达式代价的计算 233 6.2 路径(Path) 236 6.2.1 Path结构体 236 6.2.2 并行参数 237 6.2.3 参数化路径 239 6.2.4 PathKey 242 6.3 make_one_rel函数 244 6.4 普通表的扫描路径 245 6.4.1 顺序扫描 246 6.4.2 索引扫描 248 6.4.3 位图扫描 281 6.5 小结 291 ; P1 s& c; t, E( \" ~5 v0 `8 ]
第7章 动态规划和遗传算法 292 7.1 动态规划 293 7.1.1 make_rel_from_joinlist函数 297 7.1.2 standard_join_search函数 298 7.1.3 join_search_one_level函数 298 7.2 遗传算法 301 7.2.1 种群初始化 303 7.2.2 选择算子 308 7.2.3 交叉算子 310 7.2.4 适应度计算 311 7.3 小结 312 4 a2 L) h- A% F: Y
第8章 连接路径 313 8.1 检查 314 8.1.1 初步检查 314 8.1.2 精确检查 316 8.1.3 “合法”连接 318 8.2 生成新的RelOptInfo 324 8.3 虚表 327 8.4 Semi Join和化路径 328 8.5 建立连接路径 331 8.5.1 sort_inner_and_outer函数 334 8.5.2 match_unsorted_outer函数 345 8.5.3 hash_inner_and_outer函数 350 8.6 路径的筛选 355 8.7 小结 360
. H* T, L- }% }/ g, @第9章 Non-SPJ优化 361 9.1 集合操作处理 361 java8.com 9.2 Non-SPJ路径 367 9.2.1 Non-SPJ预处理 368 9.2.2 Non-SPJ路径生成 376 9.3 小结 382
+ ?3 ^% [9 F* U( Y1 \第10章 生成执行计划 383 10.1 转换流程 383 10.1.1 扫描计划 384 10.1.2 连接计划 390 10.2 执行计划树清理 391 10.3 小结 395
. G8 g& n, o) S* T3 S7 [- G" V
$ C9 c* y9 \8 l/ b4 h 百度云盘下载地址(完全免费-绝无套路):' m7 |1 J- t+ M. v0 L, N
3 u6 [/ _' ~/ G% T- y5 |' e& n, Z本资源由Java吧收集整理【www.java8.com】
4 v1 _3 N `& t2 L' \5 a# _( s0 K5 k$ k
% D# G, M# q1 w8 D1 P }# @6 [
, N4 ?0 z/ N! x0 D
4 X+ T9 n* P' A2 t9 N |