PostgreSQL 查詢引擎源碼技術探析
李浩
- 出版商: 電子工業
- 出版日期: 2016-08-01
- 定價: $474
- 售價: 8.5 折 $403
- 語言: 簡體中文
- 頁數: 329
- 裝訂: 平裝
- ISBN: 7121294818
- ISBN-13: 9787121294815
-
相關分類:
PostgreSQL、SQL
-
相關翻譯:
還在 MySQL?高手早轉用 PostgreSQL 原始碼剖析 (繁中版)
已絕版
買這商品的人也買了...
-
$551管理海量數據-壓縮索引和查詢(第2版經典再現全新修訂版) (Managing Gigabytes: Compressing and Indexing Documents and Images, 2/e)
-
$403PostgreSQL 修煉之道 : 從小工到專家
-
$780$616 -
$403PaaS實現與運維管理(基於Mesos+Docker+ELK的實戰指南)
-
$296PostgreSQL 即學即用, 2/e (PostgreSQL: Up and Running: A Practical Introduction to the Advanced Open Source Database, 2/e)
-
$250數據架構師的 PostgreSQL 修煉(高效設計開發與維護數據庫應用)
-
$266軟技能代碼之外的生存指南 (Soft Skills : The software developer's life manual)
-
$403PostgreSQL 9 Administration Cookbook, 2/e (中文版)
-
$580$452 -
$301前端函數式攻城指南
-
$505Kubernetes權威指南:從Docker到Kubernetes實踐全接觸 (第2版)
-
$590$502 -
$680$578 -
$500$395 -
$360$281 -
$580$458 -
$3,740$3,665 -
$480$379 -
$352OpenStack 最佳實踐 — 測試與 CI/CD
-
$2,010$1,910 -
$390$332 -
$254亞馬遜 AWS 雲基礎與實戰
-
$505相關性搜索 : 利用 Solr 與 Elasticsearch 創建智能應用 (Relevant search: with applications for Solr and elasticsearch)
-
$352gRPC 與雲原生應用開發 : 以 Go 和 Java 為例
-
$680$530
相關主題
商品描述
<內容簡介>
PostgreSQL作為當今最先進的開源關係型數據庫,本書揭示PostgreSQL查詢引擎運行原理和實現技術細節,其中包括:基礎數據結構;SQL詞法語法分析及查詢語法樹;查詢分析及查詢重寫;子連接及子查詢處理;查詢訪問路徑創建;查詢計劃生成,等等。以深入淺出的方式討論每個主題並結合基礎數據結構、圖表、源碼等對所討論的主題進行詳細分析,以使讀者對PostgreSQL查詢引擎的運行機制及實現細節能有全面且深入的認識。
<章節目錄>
第1章PostgreSQL概述1
1.1概述1
1.2查詢語句優化3
1.2.1工具類語句4
1.2.2查詢類語句的處理5
1.3創建查詢計劃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章查詢邏輯優化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查詢優化中的數據結構61
4.3.1數據結構62
4.3.2小結80
4.3.3思考81
4. 4查詢優化分析81
4.4.1邏輯優化――整體架構介紹82
4.4.2子查詢優化――subquery_planner 88
4.4.3創建分組等語句查詢計劃―grouping_planner 142
4.4.4創建查詢訪問路徑―query_planner 150
4.4.5小結195
4.4.6思考196
第5章查詢物理優化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規範化310
7.2常量表達式的處理―eval_const_expressions 314
7.3 Relids的相關函數316
7.4 List的相關函數319
7.5元數據表Meta Table 320
7.6查詢引擎相關參數配置324
結束語328