解析 PostgreSQL 程式與資料庫應用 (舊名: 資料庫高手昇華必經道路 -- 解析 PostgreSQL 原始程式碼)
內容描述
內容簡介
PostgreSQL作為當今的開源關係型數據庫,本書揭示PostgreSQL查詢引擎運行原理和實現技術細節,其中包括:基礎資料結構;SQL詞法語法分析及查詢語法樹;查詢分析及查詢重寫;子連接及子查詢處理;查詢訪問路徑創建;查詢計畫生成,等等。以深入淺出的方式討論每個主題並結合基礎資料結構、圖表、源碼等對所討論的主題進行詳細分析,以使讀者對PostgreSQL查詢引擎的運行機制及實現細節能有全面且深入的認識。 PostgreSQL為優秀的開放原始碼關聯式資料庫管理系統,但無論中文或是英文資料,對PostgreSQL查詢引擎的介紹非常缺乏,不是限於整體架構性的介紹,就是粗淺的概述性描述。對PostgreSQL查詢引擎中較多的實現及其相對應的理論基礎並無較為深入的說明,這使得很多相關核心開發人員初次閱讀查詢引擎原始程式時存在許多的學習困難和疑點。
本書特色
本書的寫作初衷正是為了加快資料庫開發人員對PostgreSQL查詢引擎的學習過程以及減少相關人員在原始程式學習中的迷惑,同時也為那些想一窺查詢引擎究竟的DBA們提供一個相互學習的機會和通道,無論你是MySQL DBA或是Oracle DBA。
目錄大綱
第1章 PostgreSQL概述
1.1 概述
1.2 查詢敘述最佳化
1.3 建立查詢計畫
1.4 小結
第2章基底資料表資料結構
2.1 概述
2.2 資料結構
2.3 思考
第3章查詢分析
3.1 概述
3.2 問題描述
3.3 詞法分析和語法分析(Lex&Yacc)
3.4 抽象查詢語法樹AST
3.5 查詢分析
3.6 查詢重新定義
3.7 小結
3.8 思考
第4章查詢邏輯最佳化
4.1 概述
4.2 前置處理
4.3 查詢最佳化中的資料結構
4.4 查詢最佳化分析
第5章查詢實體最佳化
5.1 概述
5.2 所有可行查詢存取路徑組成函數make_one_rel
5.3 小結
5.4 思考
第6章查詢計畫的產生
6.1 查詢計畫的產生
6.2 產生查詢計畫—create_plan/create_plan_recurse
6.3 查詢計畫的閱讀
6.4 小結
6.5 思考
第7章其他函數與基礎知識
7.1 AND/OR規範化
7.2 常數運算式的處理—eval_const_expressions
7.3 Relids的相關函數
7.4 List的相關函數
7.5 中繼資料表Meta Table
7.6 查詢引擎相關參數設定