PostgreSQL查詢引擎源碼技術探析

PostgreSQL查詢引擎源碼技術探析
定價:474
NT $ 474
  • 作者:李浩
  • 出版社:電子工業出版社
  • 出版日期:2016-08-01
  • 語言:簡體中文
  • ISBN10:7121294818
  • ISBN13:9787121294815
  • 裝訂:329頁 / 30 x 25 x 1 cm / 普通級 / 1-1
 

內容簡介

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

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

目錄

第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查詢樹Query11
2.2.2Select型查詢語句SelectStmt13
2.2.3目標列項TargetEntry15
2.2.4From…Where…語句FromExpr16
2.2.5范圍表項RangeTblEntry/RangeTblRef16
2.2.6Join表達式JoinExpr18
2.2.7From語句中的子查詢RangeSubSelect19
2.2.8子鏈接SubLink20
2.2.9子查詢計划SubPlan22
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詞法分析器Lex28
3.3.3語法分析器Yacc30
3.3.4小結36
3.3.5思考36
3.4抽象查詢語法樹AST37
3.5查詢分析39
3.5.1概述39
3.5.2查詢分析——parse_analyze40
3.5.3查詢語句分析——transformStmt42
3.6查詢重寫54
3.6.1概述54
3.6.2查詢重寫——pg_rewrite_query54
3.7小結55
3.8思考56

第4章 查詢邏輯優化57
4.1概述57
4.2預處理57
4.2.1xxx_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_planner88
4.4.3創建分組等語句查詢計划——grouping_planner142
4.4.4創建查詢訪問路徑——query_planner150
4.4.5小結195
4.4.6思考196

第5章 查詢物理優化198
5.1概述198
5.2所有可行查詢訪問路徑構成函數make_one_rel200
5.2.1設置基表的物理參數202
5.2.2基表大小估計——set_rel_size203
5.2.3尋找查詢訪問路徑——set_base_rel_pathlists214
5.2.4添加查詢訪問路徑——add_path247
5.2.5求解Join查詢路徑——make_rel_from_joinlist255
5.2.6構建兩個基表之間連接關系——make_join_rel267
5.2.7構建連接關系——build_join_rel277
5.3小結291
5.4思考291

第6章 查詢計划的生成293
6.1查詢計划的產生293
6.2生成查詢計划——create_plan/create_plan_recurse293
6.2.1構建Scan類型查詢計划——create_scan_plan295
6.2.2構建Join類型查詢計划——create_join_plan300
6.3查詢計划的閱讀305
6.4小結308
6.5思考308

第7章 其他函數與知識點310
7.1AND/OR規范化310
7.2常量表達式的處理——eval_const_expressions314
7.3Relids的相關函數316
7.4List的相關函數319
7.5元數據表MetaTable320
7.6查詢引擎相關參數配置324
結束語328
 

隨着移動互聯的飛速發展,「數據」已成為當今最寶貴的資源;誰掌握了數據,誰就掌握了無盡的寶藏。而如何有效地管理這些海量數據則成為擺在人們面前的首要問題。從計算機出現以來,人們便孜孜不倦地追求着高效管理數據的辦法,IBM的System R,U.C. Berkeley PostgreSQL以及Oracle MySQL的誕生,無一不表明人們對於高效、快捷的數據管理的不懈追求。
網路書店 類別 折扣 價格
  1. 新書
    $474