注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡數據庫PostgreSQL查詢引擎源碼技術探析

PostgreSQL查詢引擎源碼技術探析

PostgreSQL查詢引擎源碼技術探析

定 價:¥79.00

作 者: 李浩
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787121294815 出版時間: 2016-08-01 包裝:
開本: 16開 頁數: 340 字數:  

內容簡介

  PostgreSQL作為當今最先進的開源關系型數據庫,本書揭示PostgreSQL查詢引擎運行原理和實現(xiàn)技術細節(jié),其中包括:基礎數據結構;SQL詞法語法分析及查詢語法樹;查詢分析及查詢重寫;子連接及子查詢處理;查詢訪問路徑創(chuàng)建;查詢計劃生成,等等。以深入淺出的方式討論每個主題并結合基礎數據結構、圖表、源碼等對所討論的主題進行詳細分析,以使讀者對PostgreSQL查詢引擎的運行機制及實現(xiàn)細節(jié)能有全面且深入的認識。

作者簡介

  李浩,具有多年軟件開發(fā)經驗,現(xiàn)任職于北大方正信息產業(yè)集團基礎軟件中心(上海)擔任數據庫架構師,主要負責查詢引擎查詢優(yōu)化方面工作。曾參與方正智睿系列數據庫研發(fā),主要負責查詢引擎模塊的設計和開發(fā),并擁有數十項發(fā)明專利。主要研究興趣包括:查詢引擎、大規(guī)模并行處理系統(tǒng)(MPP)及SQL on Hadoop相關系統(tǒng)。

圖書目錄

第1章 PostgreSQL概述 1
1.1 概述 1
1.2 查詢語句優(yōu)化 3
1.2.1 工具類語句 4
1.2.2 查詢類語句的處理 5
1.3 創(chuàng)建查詢計劃 8
1.4 小結 8
第2章 基表數據結構 10
2.1 概述 10
2.2 數據結構 10
2.2.1 查詢樹Query 11
2.2.2 Select型查詢語句SelectStmt 13
2.2.3 目標列項TargetEntry 15
2.2.4 From…Where…語句FromExpr 16
2.2.5 范圍表項RangeTblEntry/RangeTblRef 16
2.2.6 Join表達式JoinExpr 18
2.2.7 From語句中的子查詢RangeSubSelect 19
2.2.8 子鏈接SubLink 20
2.2.9 子查詢計劃SubPlan 22
2.2 小結 23
2.3 思考 24
第3章 查詢分析 25
3.1 概述 25
3.2 問題描述 25
3.3 詞法分析和語法分析(Lex&Yacc) 28
3.3.1 概述 28
3.3.2 詞法分析器Lex 28
3.3.3 語法分析器Yacc 30
3.3.4 小結 36
3.3.5 思考 36
3.4 抽象查詢語法樹AST 37
3.5 查詢分析 39
3.5.1 概述 39
3.5.2 查詢分析―parse_analyze 40
3.5.3 查詢語句分析―transformStmt 42
3.6 查詢重寫 54
3.6.1 概述 54
3.6.2 查詢重寫――pg_rewrite_query 54
3.7 小結 55
3.8 思考 56
第4章 查詢邏輯優(yōu)化 57
4.1 概述 57
4.2 預處理 57
4.2.1 xxx_xxx_walker/mutator的前世今生 59
4.2.3 對xxx_xxx_walker/mutator的思考 60
4.3 查詢優(yōu)化中的數據結構 61
4.3.1 數據結構 62
4.3.2 小結 80
4.3.3 思考 81
4.4 查詢優(yōu)化分析 81
4.4.1 邏輯優(yōu)化――整體架構介紹 82
4.4.2 子查詢優(yōu)化――subquery_planner 88
4.4.3 創(chuàng)建分組等語句查詢計劃―grouping_planner 142
4.4.4 創(chuàng)建查詢訪問路徑―query_planner 150
4.4.5 小結 195
4.4.6 思考 196
第5章 查詢物理優(yōu)化 198
5.1 概述 198
5.2 所有可行查詢訪問路徑構成函數make_one_rel 200
5.2.1 設置基表的物理參數 202
5.2.2 基表大小估計―set_rel_size 203
5.2.3 尋找查詢訪問路徑――set_base_rel_pathlists 214
5.2.4 添加查詢訪問路徑―add_path 247
5.2.5 求解Join查詢路徑―make_rel_from_joinlist 255
5.2.6 構建兩個基表之間連接關系―make_join_rel 267
5.2.7 構建連接關系―build_join_rel 277
5.3 小結 291
5.4 思考 291
第6章 查詢計劃的生成 293
6.1 查詢計劃的產生 293
6.2 生成查詢計劃―create_plan/create_plan_recurse 293
6.2.1 構建Scan類型查詢計劃――create_scan_plan 295
6.2.2 構建Join類型查詢計劃――create_join_plan 300
6.3 查詢計劃的閱讀 305
6.4 小結 308
6.5 思考 308
第7章 其他函數與知識點 310
7.1 AND/OR規(guī)范化 310
7.2 常量表達式的處理―eval_const_expressions 314
7.3 Relids的相關函數 316
7.4 List的相關函數 319
7.5 元數據表Meta Table 320
7.6 查詢引擎相關參數配置 324
結束語 328

本目錄推薦

掃描二維碼
Copyright ? 讀書網 ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號