注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)數(shù)據(jù)庫(kù)PostgreSQL技術(shù)內(nèi)幕:查詢優(yōu)化深度探索

PostgreSQL技術(shù)內(nèi)幕:查詢優(yōu)化深度探索

PostgreSQL技術(shù)內(nèi)幕:查詢優(yōu)化深度探索

定 價(jià):¥79.00

作 者: 張樹杰 著
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787121341489 出版時(shí)間: 2018-06-01 包裝: 平裝
開本: 16開 頁(yè)數(shù): 412 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  查詢優(yōu)化器是數(shù)據(jù)庫(kù)中很重要的模塊之一,只有掌握好查詢優(yōu)化的方法且了解查詢優(yōu)化的細(xì)節(jié),在對(duì)數(shù)據(jù)庫(kù)調(diào)優(yōu)的過程中才能有的放矢,否則調(diào)優(yōu)的過程就如無(wú)本之木、無(wú)源之水,雖上下求索而不得其法。 《PostgreSQL技術(shù)內(nèi)幕:查詢優(yōu)化深度探索》揭示了PostgreSQL數(shù)據(jù)庫(kù)中查詢優(yōu)化的實(shí)現(xiàn)技術(shù)細(xì)節(jié),首先對(duì)子查詢提升、外連接消除、表達(dá)式預(yù)處理、謂詞下推、連接順序交換、等價(jià)類推理等邏輯優(yōu)化方法進(jìn)行了詳細(xì)描述,然后結(jié)合統(tǒng)計(jì)信息、選擇率、代價(jià)對(duì)掃描路徑創(chuàng)建、路徑搜索方法、連接路徑建立、Non-SPJ路徑建立、執(zhí)行計(jì)劃簡(jiǎn)化與生成等進(jìn)行了深度探索,使讀者對(duì)PostgreSQL數(shù)據(jù)庫(kù)的查詢優(yōu)化器有深層次的了解。 《PostgreSQL技術(shù)內(nèi)幕:查詢優(yōu)化深度探索》適合數(shù)據(jù)庫(kù)內(nèi)核開發(fā)人員及相關(guān)領(lǐng)域的研究人員、數(shù)據(jù)庫(kù)DBA、高等院校相關(guān)專業(yè)的本科生或者研究生閱讀。

作者簡(jiǎn)介

  張樹杰 ,擁有13年IT從業(yè)經(jīng)驗(yàn),從事國(guó)產(chǎn)數(shù)據(jù)庫(kù)內(nèi)核開發(fā)工作多年,對(duì)數(shù)據(jù)庫(kù)內(nèi)核各個(gè)方面均有涉獵,近些年專注于研究如何改進(jìn)分布式數(shù)據(jù)庫(kù)的查詢優(yōu)化、查詢執(zhí)行,目前在Pivotal公司從事Apache HAWQ數(shù)據(jù)庫(kù)的內(nèi)核開發(fā)工作。

圖書目錄

第1章 概述 1
1.1 查詢優(yōu)化的簡(jiǎn)介 1
1.2 邏輯優(yōu)化 3
1.2.1 關(guān)系模型 3
1.2.2 邏輯優(yōu)化示例 8
1.3 物理優(yōu)化 10
1.3.1 物理優(yōu)化的4個(gè)“法寶” 12
1.3.2 物理路徑的生成過程 14
1.4 文件介紹 17
1.5 示例的約定 18
1.6 小結(jié) 19

第2章 查詢樹 20
2.1 Node的結(jié)構(gòu) 20
2.2 Var結(jié)構(gòu)體 21
2.3 RangeTblEntry結(jié)構(gòu)體 23
2.4 RangeTblRef結(jié)構(gòu)體 25
2.5 JoinExpr結(jié)構(gòu)體 26
2.6 FromExpr結(jié)構(gòu)體 27
2.7 Query結(jié)構(gòu)體 27
2.8 查詢樹的展示 31
2.9 查詢樹的遍歷 31
2.10 執(zhí)行計(jì)劃的展示 32
2.11 小結(jié) 33

第3章 邏輯重寫優(yōu)化 34
3.1 通用表達(dá)式 35
3.2 子查詢提升 36
3.2.1 提升子連接 37
3.2.2 提升子查詢 51
3.3 UNION ALL優(yōu)化 68
3.4 展開繼承表 69
3.5 預(yù)處理表達(dá)式 71
3.5.1 連接Var的溯源 71
3.5.2 常量化簡(jiǎn) 72
3.5.3 謂詞規(guī)范 73
3.5.4 子連接處理 79
3.6 處理HAVING子句 80
3.7 Group By鍵值消除 81
3.8 外連接消除 82
3.9 grouping_planner的說(shuō)明 91
3.10 小結(jié) 92

第4章 邏輯分解優(yōu)化 93
4.1 創(chuàng)建RelOptInfo 94
4.1.1 RelOptInfo結(jié)構(gòu)體 94
4.1.2 IndexOptInfo結(jié)構(gòu)體 97
4.1.3 創(chuàng)建RelOptInfo 100
4.2 初識(shí)等價(jià)類 102
4.3 謂詞下推 106
4.3.1 連接條件的下推 106
4.3.2 過濾條件的下推 112
4.3.3 連接順序 113
4.3.4 deconstruct_recurse函數(shù) 118
4.3.5 make_outerjoininfo函數(shù) 124
4.3.6 distribute_qual_to_rels函數(shù) 132
4.3.7 reconsider_outer_join_clauses函數(shù) 151
4.3.8 generate_base_implied_equalities函數(shù) 156
4.3.9 記錄表之間的等價(jià)關(guān)系 157
4.4 PlaceHolderVar的作用 158
4.5 Lateral語(yǔ)法的支持 161
4.5.1 Lateral的語(yǔ)義分析 162
4.5.2 收集Lateral變量 164
4.5.3 收集Lateral信息 164
4.6 消除無(wú)用連接項(xiàng) 166
4.7 Semi Join消除 171
4.8 提取新的約束條件 172
4.8.1 提取需要滿足的條件 173
4.8.2 提取流程 174
4.8.3 選擇率修正 176
4.9 小結(jié) 177

第5章 統(tǒng)計(jì)信息和選擇率 178
5.1 統(tǒng)計(jì)信息 178
5.1.1 PG_STATISTIC系統(tǒng)表 181
5.1.2 PG_STATISTIC_EXT系統(tǒng)表 185
5.1.3 單列統(tǒng)計(jì)信息生成 187
5.1.4 多列統(tǒng)計(jì)信息生成 196
5.2 選擇率 200
5.2.1 使用函數(shù)依賴計(jì)算選擇率 204
5.2.2 子約束條件的選擇率 208
5.2.3 基于范圍的約束條件的選擇率修正 211
5.3 OpExpr的選擇率 213
5.3.1 eqsel函數(shù) 215
5.3.2 scalargtsel函數(shù) 217
5.3.3 eqjoinsel函數(shù) 220
5.4 小結(jié) 226

第6章 掃描路徑 227
6.1 代價(jià)(Cost) 228
6.1.1 代價(jià)基準(zhǔn)單位 228
6.1.2 啟動(dòng)代價(jià)和整體代價(jià) 231
6.1.3 表達(dá)式代價(jià)的計(jì)算 233
6.2 路徑(Path) 236
6.2.1 Path結(jié)構(gòu)體 236
6.2.2 并行參數(shù) 237
6.2.3 參數(shù)化路徑 239
6.2.4 PathKey 242
6.3 make_one_rel函數(shù) 244
6.4 普通表的掃描路徑 245
6.4.1 順序掃描 246
6.4.2 索引掃描 248
6.4.3 位圖掃描 281
6.5 小結(jié) 291

第7章 動(dòng)態(tài)規(guī)劃和遺傳算法 292
7.1 動(dòng)態(tài)規(guī)劃 293
7.1.1 make_rel_from_joinlist函數(shù) 297
7.1.2 standard_join_search函數(shù) 298
7.1.3 join_search_one_level函數(shù) 298
7.2 遺傳算法 301
7.2.1 種群初始化 303
7.2.2 選擇算子 308
7.2.3 交叉算子 310
7.2.4 適應(yīng)度計(jì)算 311
7.3 小結(jié) 312

第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函數(shù) 334
8.5.2 match_unsorted_outer函數(shù) 345
8.5.3 hash_inner_and_outer函數(shù) 350
8.6 路徑的篩選 355
8.7 小結(jié) 360

第9章 Non-SPJ優(yōu)化 361
9.1 集合操作處理 361
9.2 Non-SPJ路徑 367
9.2.1 Non-SPJ預(yù)處理 368
9.2.2 Non-SPJ路徑生成 376
9.3 小結(jié) 382

第10章 生成執(zhí)行計(jì)劃 383
10.1 轉(zhuǎn)換流程 383
10.1.1 掃描計(jì)劃 384
10.1.2 連接計(jì)劃 390
10.2 執(zhí)行計(jì)劃樹清理 391
10.3 小結(jié) 395

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)