注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)數(shù)據(jù)庫數(shù)據(jù)庫查詢優(yōu)化器的藝術(shù):原理解析與SQL性能優(yōu)化

數(shù)據(jù)庫查詢優(yōu)化器的藝術(shù):原理解析與SQL性能優(yōu)化

數(shù)據(jù)庫查詢優(yōu)化器的藝術(shù):原理解析與SQL性能優(yōu)化

定 價:¥89.00

作 者: 李海翔 著
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng): 數(shù)據(jù)庫技術(shù)叢書
標(biāo) 簽: SQL 計(jì)算機(jī)/網(wǎng)絡(luò) 數(shù)據(jù)庫

ISBN: 9787111447467 出版時間: 2014-01-01 包裝: 平裝
開本: 16開 頁數(shù): 514 字?jǐn)?shù):  

內(nèi)容簡介

  《數(shù)據(jù)庫技術(shù)叢書·數(shù)據(jù)庫查詢優(yōu)化器的藝術(shù):原理解析與SQL性能優(yōu)化》是數(shù)據(jù)庫查詢優(yōu)化領(lǐng)域的里程碑之作,由Oracle公司MySQL全球開發(fā)團(tuán)隊(duì)、資深專家撰寫,作者有10余年數(shù)據(jù)庫內(nèi)核和查詢優(yōu)化器研究經(jīng)驗(yàn)。數(shù)據(jù)庫領(lǐng)域泰斗王珊教授親自作序推薦,PostgreSQL中國社區(qū)和中國用戶會發(fā)起人以及來自O(shè)racle、新浪、網(wǎng)易、華為等企業(yè)的數(shù)位資深數(shù)據(jù)庫專家聯(lián)袂推薦。從原理角度深度解讀和展示數(shù)據(jù)庫查詢優(yōu)化器的技術(shù)細(xì)節(jié)和全貌;從源碼實(shí)現(xiàn)角度全方位深入分析MySQL和PostgreSQL兩大主流開源數(shù)據(jù)庫查詢優(yōu)化器的實(shí)現(xiàn)原理;從工程實(shí)踐的角度對比了兩大數(shù)據(jù)庫的查詢優(yōu)化器的功能異同和實(shí)現(xiàn)異同。它是所有數(shù)據(jù)開發(fā)工程師、內(nèi)核工程師、DBA以及其他數(shù)據(jù)庫相關(guān)工作人員值得反復(fù)研讀的一本書?!稊?shù)據(jù)庫技術(shù)叢書·數(shù)據(jù)庫查詢優(yōu)化器的藝術(shù):原理解析與SQL性能優(yōu)化》共19章,分為四個部分:第一篇(第1~4章)對數(shù)據(jù)庫查詢優(yōu)化技術(shù)的范圍、邏輯查詢優(yōu)化、物理查詢優(yōu)化,以及查詢優(yōu)化器與其他模塊的關(guān)系做了非常細(xì)致、深入的講解;第二篇(第5~10章)首先從源碼角度對PostgreSQL查詢優(yōu)化器的架構(gòu)、層次、設(shè)計(jì)思想、相關(guān)數(shù)據(jù)結(jié)構(gòu)和實(shí)現(xiàn)原理進(jìn)行了深入、系統(tǒng)的分析,然后從功能角度對PostgreSQL的邏輯查詢優(yōu)化、物理查詢優(yōu)化、查詢優(yōu)化器的關(guān)鍵算法,以及PostgreSQL查詢優(yōu)化器與其他模塊的關(guān)系做了深入的講解;第三篇(第11~16章)首先從源碼角度對MySQL查詢優(yōu)化器的架構(gòu)、層次、設(shè)計(jì)思想、相關(guān)數(shù)據(jù)結(jié)構(gòu)和實(shí)現(xiàn)原理進(jìn)行了深入、系統(tǒng)的分析,然后從功能角度對MySQL的邏輯查詢優(yōu)化、物理查詢優(yōu)化、查詢優(yōu)化器的關(guān)鍵算法,以及MySQL查詢優(yōu)化器與其他模塊的關(guān)系做了深入的講解;第四篇(第17~19章)對PostgreSQL與MySQL的邏輯查詢優(yōu)化技術(shù)、物理查詢優(yōu)化技術(shù)、設(shè)計(jì)思想和編碼規(guī)范等各方面進(jìn)行了深度的比較。

作者簡介

  李海翔 網(wǎng)名“那海藍(lán)藍(lán)”,資深數(shù)據(jù)庫專家,從事數(shù)據(jù)庫研發(fā)、數(shù)據(jù)庫測試與技術(shù)管理等工作10余年,對數(shù)據(jù)庫的內(nèi)核有深入的研究,長于PostgreSQL和MySQL等開源數(shù)據(jù)庫的內(nèi)核與架構(gòu)?,F(xiàn)任職于Oracle公司MySQL全球開發(fā)團(tuán)隊(duì),從事查詢優(yōu)化技術(shù)的研究和MySQL查詢優(yōu)化器的開發(fā)工作。曾參與了863、核高基、工信部、科技部、發(fā)改委、北京市科委等多個重大科技項(xiàng)目。2005年獲得北京市科學(xué)技術(shù)進(jìn)步獎一等獎,2006年獲高級工程師(系統(tǒng)分析師)。業(yè)余時間喜歡分享個人心得于博客

圖書目錄

推薦序一
推薦序二
前言
第一篇  查詢優(yōu)化技術(shù)
第1章  數(shù)據(jù)管理系統(tǒng)的查詢優(yōu)化
1.1  數(shù)據(jù)庫調(diào)優(yōu)
1.2  查詢優(yōu)化技術(shù)
1.2.1  查詢重用
1.2.2  查詢重寫規(guī)則
1.2.3  查詢算法優(yōu)化
1.2.4  并行查詢優(yōu)化
1.2.5  分布式查詢優(yōu)化
1.2.6  其他優(yōu)化
1.3  本章小結(jié)
第2章  邏輯查詢優(yōu)化
2.1  查詢優(yōu)化技術(shù)的理論基礎(chǔ)
2.1.1  關(guān)系代數(shù)
2.1.2  關(guān)系代數(shù)等價變換規(guī)則對優(yōu)化的指導(dǎo)意義
2.2  查詢重寫規(guī)則
2.2.1  子查詢的優(yōu)化
2.2.2  視圖重寫
2.2.3  等價謂詞重寫
2.2.4  條件化簡
2.2.5  外連接消除
2.2.6  嵌套連接消除
2.2.7  連接消除
2.2.8  語義優(yōu)化
2.2.9  針對非SPJ的優(yōu)化
2.3  啟發(fā)式規(guī)則在邏輯優(yōu)化階段的應(yīng)用
2.4  本章小結(jié)
第3章  物理查詢優(yōu)化
3.1  查詢代價估算
3.1.1  代價模型
3.1.2  選擇率計(jì)算的常用方法
3.2  單表掃描算法
3.2.1  常用的單表掃描算法
3.2.2  單表掃描代價計(jì)算
3.3  索引
3.3.1  如何利用索引
3.3.2  索引列的位置對使用索引的影響
3.3.3  聯(lián)合索引對索引使用的影響
3.3.4  多個索引對索引使用的影響
3.4  兩表連接算法
3.4.1  基本的兩表連接算法
3.4.2  進(jìn)一步認(rèn)識兩表連接算法
3.4.3  連接操作代價計(jì)算
3.5  多表連接算法
3.5.1  多表連接順序
3.5.2  常用的多表連接算法
3.5.3  多表連接算法的比較
3.6  本章小結(jié)
第4章  查詢優(yōu)化器與其他模塊的關(guān)系
4.1  查詢優(yōu)化器整體介紹
4.2  查詢優(yōu)化器與其他模塊的關(guān)系
4.3  本章小結(jié)
第二篇  PostgreSQL查詢優(yōu)化器原理解析
第5章  PostgreSQL查詢優(yōu)化器概述
5.1  PostgreSQL查詢執(zhí)行過程
5.2  PostgreSQL查詢優(yōu)化器的架構(gòu)和設(shè)計(jì)思想
5.2.1  PostgreSQL查詢優(yōu)化器架構(gòu)
5.2.2  PostgreSQL查詢優(yōu)化器的層次
5.2.3  PostgreSQL查詢優(yōu)化器設(shè)計(jì)思想
5.3  主要概念
5.4  代碼層次結(jié)構(gòu)
5.5  本章小結(jié)
第6章  PostgreSQL查詢優(yōu)化器相關(guān)數(shù)據(jù)結(jié)構(gòu)
6.1  主要數(shù)據(jù)結(jié)構(gòu)
6.1.1  基本數(shù)據(jù)結(jié)構(gòu)
6.1.2  查詢樹
6.1.3  各種對象的結(jié)構(gòu)
6.1.4  連接操作相關(guān)的結(jié)構(gòu)
6.1.5  查詢執(zhí)行計(jì)劃相關(guān)的結(jié)構(gòu)
6.2  各個結(jié)構(gòu)之間的關(guān)系
6.3  各個階段間和主要結(jié)構(gòu)體間的關(guān)系
6.4  本章小結(jié)
第7章  PostgreSQL查詢優(yōu)化器實(shí)現(xiàn)原理解析
7.1  查詢優(yōu)化整體流程
7.2  查詢優(yōu)化器實(shí)現(xiàn)原理解析
7.2.1  planner--主入口函數(shù)
7.2.2  standard_planner--標(biāo)準(zhǔn)的查詢優(yōu)化器函數(shù)
7.2.3  subquery_planner--生成(子)查詢執(zhí)行計(jì)劃函數(shù)
7.2.4  grouping_planner--生成查詢執(zhí)行計(jì)劃并對非SPJ優(yōu)化
7.2.5  build_minmax_path--聚集函數(shù)MIN/MAX的優(yōu)化函數(shù)
7.2.6  query_planner--生成最優(yōu)的查詢路徑函數(shù)
7.2.7  make_one_rel--構(gòu)造多表連接路徑并選出最優(yōu)路徑函數(shù)
7.2.8  make_rel_from_joinlist--生成多表連接路徑函數(shù)
7.2.9  optimize_minmax_aggregates--聚集操作MIN/MAX優(yōu)化函數(shù)
7.2.10  create_plan--創(chuàng)建查詢執(zhí)行計(jì)劃函數(shù)
7.2.11  非SPJ處理--grouping_planner的各個子模塊
7.2.12  其他重要的函數(shù)與操作
7.3  代價估算實(shí)現(xiàn)原理解析
7.3.1  查詢代價估算
7.3.2  單表掃描方式的代價估算
7.3.3  兩表連接的代價估算
7.3.4  其他代價估算函數(shù)
7.3.5  選擇率的計(jì)算
7.4  從目錄結(jié)構(gòu)和文件功能角度看查詢優(yōu)化器
7.4.1  查詢優(yōu)化子模塊與主要文件的關(guān)系
7.4.2  查詢優(yōu)化器代碼結(jié)構(gòu)
7.5  本章小結(jié)
第8章  從功能的角度看PostgreSQL查詢優(yōu)化
8.1  優(yōu)化器之邏輯查詢優(yōu)化
8.1.1  視圖重寫
8.1.2  子查詢優(yōu)化
8.1.3  等價謂詞重寫
8.1.4  條件化簡
8.1.5  外連接消除
8.1.6  嵌套連接消除
8.1.7  連接的消除
8.1.8  語義優(yōu)化
8.1.9  選擇操作下推
8.1.10  非SPJ優(yōu)化
8.2  優(yōu)化器之物理查詢優(yōu)化
8.2.1  PostgreSQL的物理優(yōu)化主要完成的工作
8.2.2  啟發(fā)式規(guī)則在物理查詢優(yōu)化階段的使用
8.2.3  兩表連接
8.2.4  代價估算
8.2.5  PostgreSQL的索引與查詢優(yōu)化
8.3  其他
8.3.1  grouping_planner函數(shù)主干再分析
8.3.2  用戶指定的連接語義與PostgreSQL實(shí)現(xiàn)兩表連接的函數(shù)及算法的關(guān)系
8.3.3  集合操作優(yōu)化
8.4  本章小結(jié)
第9章  PostgreSQL查詢優(yōu)化的關(guān)鍵算法
9.1  動態(tài)規(guī)劃算法
9.1.1  動態(tài)規(guī)劃算法的處理流程
9.1.2  緊密樹處理流程
9.2  遺傳算法
9.2.1  PostgreSQL遺傳算法的處理流程
9.2.2  主要的數(shù)據(jù)結(jié)構(gòu)
9.2.3  主要的函數(shù)和變量
9.2.4  應(yīng)用遺傳算法實(shí)現(xiàn)表連接的語義
9.2.5  應(yīng)用遺傳算法計(jì)算適應(yīng)度
9.2.6  進(jìn)一步理解PostgreSQL的遺傳算法
9.3  動態(tài)規(guī)劃算法與遺傳算法對比
9.4  本章小結(jié)
第10章  PostgreSQL查詢優(yōu)化器與其他部分的關(guān)系
10.1  查詢優(yōu)化器與語法分析器
10.2  查詢優(yōu)化器與執(zhí)行器
10.3  查詢優(yōu)化器與緩沖區(qū)管理模塊
10.4  查詢優(yōu)化器與對象訪問模塊
10.5  查詢優(yōu)化器與統(tǒng)計(jì)模塊
10.6  查詢優(yōu)化器與索引模塊
10.7  本章小結(jié)
第三篇  MySQL查詢優(yōu)化器原理解析
第11章  MySQL查詢優(yōu)化器概述
11.1  MySQL查詢執(zhí)行過程
11.2  MySQL查詢優(yōu)化器的架構(gòu)和設(shè)計(jì)思想
11.2.1  MySQL查詢優(yōu)化器架構(gòu)
11.2.2  MySQL查詢優(yōu)化器的層次
11.2.3  MySQL查詢優(yōu)化器設(shè)計(jì)思想
11.3  主要概念
11.3.1  常量表
11.3.2  表數(shù)據(jù)的訪問方式
11.4  代碼層次結(jié)構(gòu)
11.5  本章小結(jié)
第12章  MySQL查詢優(yōu)化器相關(guān)數(shù)據(jù)結(jié)構(gòu)
12.1  主要的類和數(shù)據(jù)結(jié)構(gòu)
12.1.1  查詢樹
12.1.2  基本對象
12.1.3  連接對象與執(zhí)行計(jì)劃
12.1.4  代價估算類
12.2  各個階段主要結(jié)構(gòu)體間的關(guān)系
12.3  本章小結(jié)
第13章  MySQL查詢優(yōu)化器的原理解析
13.1  查詢優(yōu)化器整體流程
13.2  優(yōu)化器的代碼詳解
13.2.1  JOIN.prepare--優(yōu)化前的準(zhǔn)備工作
13.2.2  JOIN.optimize--優(yōu)化器主入口方法
13.2.3  make_join_statistics--計(jì)算最優(yōu)的查詢優(yōu)化執(zhí)行計(jì)劃
13.2.4  choose_table_order--求解多表連接最優(yōu)連接路徑
13.2.5  make_join_statistics函數(shù)的其他子函數(shù)
13.2.6  make_join_select--對條件求值、下推連接條件到表中
13.2.7  test_if_skip_sort_order--排序操作的優(yōu)化
13.2.8  make_join_readinfo--為連接的每個表構(gòu)造信息
13.2.9  JOIN.exec--執(zhí)行查詢執(zhí)行計(jì)劃的函數(shù)
13.3  代價估算
13.3.1  查詢代價估算模型
13.3.2  查詢代價估算過程
13.3.3  其他的代價估算
13.3.4  對存儲引擎的調(diào)用接口
13.3.5  統(tǒng)計(jì)信息
13.4  本章小結(jié)
第14章  從功能的角度看MySQL查詢優(yōu)化
14.1  優(yōu)化器之邏輯查詢優(yōu)化
14.1.1  視圖重寫
14.1.2  子查詢優(yōu)化
14.1.3  等價謂詞重寫
14.1.4  條件化簡
14.1.5  外連接消除
14.1.6  嵌套連接消除
14.1.7  連接的消除
14.1.8  語義優(yōu)化
14.1.9  非SPJ優(yōu)化
14.2  優(yōu)化器之物理查詢優(yōu)化
14.2.1  MySQL的物理優(yōu)化主要完成的工作
14.2.2  啟發(fā)式規(guī)則在物理查詢優(yōu)化階段的使用
14.2.3  MySQL的索引與查詢優(yōu)化
14.2.4  用戶指定的連接語義與MySQL實(shí)現(xiàn)兩表連接的算法
14.3  本章小結(jié)
第15章  MySQL查詢優(yōu)化的關(guān)鍵算法
15.1  深入理解MySQL的多表連接算法
15.2  本章小結(jié)
第16章  MySQL查詢優(yōu)化器與其他部分的關(guān)系
16.1  查詢優(yōu)化器與語法分析器
16.2  查詢優(yōu)化器與執(zhí)行器
16.3  查詢優(yōu)化器與緩沖區(qū)管理模塊
16.4  查詢優(yōu)化器與索引模塊
16.5  本章小結(jié)
第四篇  PostgreSQL查詢優(yōu)化器VSMySQL查詢優(yōu)化器
第17章  PostgreSQL和MySQL的邏輯查詢優(yōu)化技術(shù)
17.1  查詢重寫
17.1.1  子查詢優(yōu)化
17.1.2  視圖重寫
17.1.3  等價謂詞重寫
17.1.4  條件化簡
17.1.5  外連接消除
17.1.6  嵌套連接消除
17.1.7  連接消除
17.1.8  語義優(yōu)化
17.2  非SPJ的優(yōu)化
17.3  本章小結(jié)
第18章  PostgreSQL和MySQL的物理查詢優(yōu)化技術(shù)
18.1  查詢代價估算模型比較
18.2  單表掃描算法
18.3  索引
18.4  兩表連接算法
18.5  多表連接算法
18.6  本章小結(jié)
第19章  PostgreSQL和MySQL的其他異同
19.1  啟發(fā)式規(guī)則的使用比較
19.2  綜合比較
19.2.1  基本概念的比較
19.2.2  數(shù)據(jù)結(jié)構(gòu)的比較
19.2.3  設(shè)計(jì)思想的比較
19.2.4  編碼規(guī)范的比較
19.3  本章小結(jié)
附錄A  如何掌握數(shù)據(jù)庫內(nèi)核
附錄B  如何閱讀本書
附錄C  如何閱讀查詢執(zhí)行計(jì)劃
附錄D  如何跟蹤查詢執(zhí)行計(jì)劃

本目錄推薦

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