高性能SQL調(diào)優(yōu)精要與案例解析 版權(quán)信息
- ISBN:9787121323621
- 條形碼:9787121323621 ; 978-7-121-32362-1
- 裝幀:暫無
- 冊(cè)數(shù):暫無
- 重量:暫無
- 所屬分類:>>
高性能SQL調(diào)優(yōu)精要與案例解析 本書特色
本書共分為兩篇,基礎(chǔ)篇(第1 章~第10 章)介紹了SQL 調(diào)優(yōu)應(yīng)該具備和掌握的理論和方法,實(shí)踐篇(第11 章)精選并深入解析了10 個(gè)現(xiàn)實(shí)中的實(shí)際案例。本書前3 章主要介紹了Oracle 數(shù)據(jù)庫架構(gòu)設(shè)計(jì)及實(shí)現(xiàn)方面的內(nèi)容。第4 章詳細(xì)講解了Oracle 各種數(shù)據(jù)庫對(duì)象的相關(guān)實(shí)現(xiàn)、特性和理解。第5 章介紹了事務(wù)及Oracle 事務(wù)相關(guān)的特性。第6~8 章詳細(xì)講解了執(zhí)行計(jì)劃及其相關(guān)因素、方法和元素。第9~10 章分別講解了如何通過分析SQL 語句執(zhí)行計(jì)劃來確定其性能瓶頸,進(jìn)而解決相關(guān)問題的思路和方法。第11 章以精選的10 個(gè)現(xiàn)實(shí)中的實(shí)際案例為樣本,并對(duì)其逐一進(jìn)行了理論結(jié)合實(shí)踐的深入講解和剖析,以期通過實(shí)際案例的解析,達(dá)到讀者對(duì)基礎(chǔ)理論進(jìn)行驗(yàn)證、再學(xué)習(xí)的目的。本書適用于所有關(guān)系數(shù)據(jù)庫相關(guān)從業(yè)人員,尤其是中高端技術(shù)人員。
高性能SQL調(diào)優(yōu)精要與案例解析 內(nèi)容簡介
很多時(shí)候,核心模塊的性能問題,很可能是數(shù)據(jù)庫的問題。本書授人以魚的同時(shí) 更授人以漁,不僅詳細(xì)講解了SQL調(diào)優(yōu)的理論基礎(chǔ),更是通過10個(gè)實(shí)際案例,介紹了遇到性能問題時(shí),SQL調(diào)優(yōu)的分析思路、方法、步驟以及調(diào)優(yōu)后的效果。這些分析問題的思路、解決問題的方法一定能內(nèi)容簡介幫助讀者打開思維的大門,解決自身工作中遇到的實(shí)際問題,這也是本書的寫作初衷。
高性能SQL調(diào)優(yōu)精要與案例解析 目錄
基礎(chǔ)篇
第1章 整體架構(gòu)... 2
1.1 實(shí)例... 2
1.2 數(shù)據(jù)庫... 3
1.3 整體架構(gòu)圖解... 5
第2章 內(nèi)存架構(gòu)... 7
2.1 系統(tǒng)全局區(qū)... 7
2.1.1 共享池... 7
2.1.2 數(shù)據(jù)緩沖... 8
2.1.3 重做日志緩沖... 8
2.1.4 系統(tǒng)全局區(qū)相關(guān)信息... 9
2.2 程序全局區(qū)... 9
2.2.1 會(huì)話區(qū)... 9
2.2.2 SQL工作區(qū)... 10
2.2.3 程序全局區(qū)的相關(guān)信息... 10
第3章 存儲(chǔ)架構(gòu)... 11
3.1 塊... 11
3.2 區(qū)間... 13
3.3 段... 14
3.4 表空間... 14
第4章 對(duì)象類型... 17
4.1 表... 17
4.1.1 表的概念... 17
4.1.2 表的注解... 17
4.1.3 表與段... 18
4.1.4 表分區(qū)... 19
4.2 索引... 21
4.2.1 索引的概念... 21
4.2.2 索引的注解... 21
4.2.3 本地索引和全局索引... 24
4.2.4 B*Tree索引組織結(jié)構(gòu)... 25
4.2.5 位圖索引... 26
4.3 簇... 27
4.3.1 簇的概念... 27
4.3.2 簇注的解... 27
4.4 視圖... 27
4.4.1 視圖的概念... 27
4.4.2 視圖的注解... 28
4.5 物化視圖... 28
4.5.1 物化視圖的概念... 28
4.5.2 物化視圖的注解... 28
4.6 同義詞... 29
4.6.1 同義詞的概念... 29
4.6.2 同義詞的注解... 29
4.7 序列... 30
4.7.1 序列的概念... 30
4.7.2 序列的注解... 30
4.8 索引組織表... 30
4.8.1 索引組織表的概念... 30
4.8.2 索引組織表的注解... 31
4.9 過程和函數(shù)... 31
4.9.1 過程和函數(shù)的概念... 31
4.9.2 過程和函數(shù)的注解... 32
4.10 觸發(fā)器... 32
4.10.1 觸發(fā)器的概念... 32
4.10.2 觸發(fā)器的注解... 33
4.11 包... 33
4.11.1 包的概念... 33
4.11.2 包注解... 33
4.12 約束... 34
4.12.1 約束的概念... 34
4.12.2 約束的注解... 34
第5章 事務(wù)... 35
5.1 事務(wù)的概念... 35
5.2 事務(wù)的特性... 36
5.3 ANSI/ISO SQL標(biāo)準(zhǔn)定義的事務(wù)隔離級(jí)別... 36
5.4 Oracle支持的事務(wù)隔離級(jí)別... 36
5.5 事務(wù)的開始和結(jié)束... 37
5.6 事務(wù)的相關(guān)信息... 37
第6章 執(zhí)行計(jì)劃... 39
6.1 執(zhí)行計(jì)劃的概念... 39
6.2 系統(tǒng)統(tǒng)計(jì)數(shù)據(jù)... 40
6.3 對(duì)象統(tǒng)計(jì)數(shù)據(jù)... 41
6.4 擴(kuò)展統(tǒng)計(jì)數(shù)據(jù)... 42
6.4.1 擴(kuò)展統(tǒng)計(jì)數(shù)據(jù)的概念... 42
6.4.2 擴(kuò)展統(tǒng)計(jì)數(shù)據(jù)的限制... 42
6.5 執(zhí)行計(jì)劃的獲取方法... 42
6.5.1 GUI工具... 43
6.5.2 autotrace的功能... 45
6.5.3 DBMS_XPLAN包... 47
6.5.4 SQL查詢方法... 55
6.5.5 跟蹤方法... 56
6.6 執(zhí)行計(jì)劃閱讀及分析方法... 58
第7章 執(zhí)行計(jì)劃操作與分析... 59
7.1 表相關(guān)操作... 59
7.2 索引相關(guān)操作... 65
7.3 物化視圖相關(guān)操作... 72
7.4 連接相關(guān)操作... 75
7.5 分區(qū)相關(guān)操作... 91
7.6 并行相關(guān)操作... 98
7.6.1 并行相關(guān)的概念... 98
7.6.2 并行相關(guān)操作示例... 100
7.7 排序相關(guān)操作... 111
7.8 視圖相關(guān)操作... 116
7.9 集合相關(guān)操作... 118
7.10 位圖相關(guān)操作... 121
7.11 聚合相關(guān)操作... 126
7.12 分析函數(shù)相關(guān)操作... 127
7.13 層級(jí)相關(guān)操作... 130
7.14 DDL及DML相關(guān)操作... 134
7.15 其他相關(guān)操作... 142
第8章 調(diào)優(yōu)相關(guān)數(shù)據(jù)項(xiàng)... 150
8.1 執(zhí)行計(jì)劃數(shù)據(jù)項(xiàng)... 150
8.2 性能統(tǒng)計(jì)信息數(shù)據(jù)項(xiàng)... 151
第9章 確定瓶頸... 153
9.1 分析Cost方法... 153
9.1.1 方法說明... 153
9.1.2 分析要點(diǎn)... 153
9.1.3 方法優(yōu)勢(shì)... 154
9.1.4 方法劣勢(shì)... 154
9.2 分析Trace結(jié)果方法... 154
9.2.1 方法說明... 154
9.2.2 分析要點(diǎn)... 157
9.2.3 方法優(yōu)勢(shì)... 157
9.2.4 方法劣勢(shì)... 157
9.3 目測分析方法... 157
9.3.1 方法說明... 157
9.3.2 分析要點(diǎn)... 158
9.3.3 方法優(yōu)勢(shì)... 158
9.3.4 方法劣勢(shì)... 158
第10章 解決問題... 159
10.1 合理使用索引... 159
10.1.1 索引應(yīng)用的一般原則... 161
10.1.2 索引應(yīng)用的認(rèn)識(shí)誤區(qū)... 162
10.2 合理使用表分區(qū)... 163
10.2.1 合理選擇表分區(qū)類型... 163
10.2.2 合理選擇索引類型... 164
10.3 收集和維護(hù)統(tǒng)計(jì)數(shù)據(jù)... 164
10.3.1 自動(dòng)收集統(tǒng)計(jì)數(shù)據(jù)... 164
10.3.2 手動(dòng)收集和維護(hù)統(tǒng)計(jì)數(shù)據(jù)... 166
10.3.3 收集和維護(hù)擴(kuò)展統(tǒng)計(jì)數(shù)據(jù)... 169
10.4 SQL語句改寫... 170
10.4.1 消除視圖... 170
10.4.2 標(biāo)量子查詢改為外連接... 172
10.4.3 update改為merge
into. 173
10.4.4 正確使用分析函數(shù)... 175
10.4.5 with as去除多次掃描... 176
10.4.6 union 改為or 178
10.4.7 or改為union. 179
10.4.8 in改為join. 181
10.4.9 in改為exists 182
10.4.10 not in改為not
exists 183
10.4.11 not exists改為not in. 184
10.4.12 exists改為join. 185
10.4.13 not exists改為join. 187
10.4.14 join改為exists 188
10.4.15
join改為not
exists 189
10.4.16 改寫為集合運(yùn)算符... 190
10.5 正確使用Hint 191
10.5.1 Hint的概念及場景... 191
10.5.2 Hint的具體語法... 192
10.5.3 常用Hint 193
10.6 數(shù)據(jù)庫開發(fā)常識(shí)... 220
10.6.1 判斷SQL性能的標(biāo)準(zhǔn)... 220
10.6.2 索引相關(guān)誤區(qū)... 220
10.6.3 慎用多視圖連接... 222
10.6.4 慎用循環(huán)Delete. 222
10.6.5 考量綁定變量的應(yīng)用... 223
10.6.6 減少參與連接的表數(shù)... 223
10.6.7 慎用觸發(fā)器... 223
10.6.8 慎用臨時(shí)表... 224
10.6.9 表連接寫法選擇和排序... 225
實(shí)踐篇
第11章 案例解析... 228
11.1 案例一... 228
11.1.1 問題背景... 228
11.1.2 問題描述... 229
11.1.3 問題分析及解決... 230
11.1.4 優(yōu)化效果... 233
11.2 案例二... 235
11.2.1 問題背景... 235
11.2.2 問題描述... 235
11.2.3 問題分析及解決... 237
11.2.4 優(yōu)化效果... 241
11.3 案例三... 242
11.3.1 問題背景... 242
11.3.2 問題描述... 244
11.3.3 問題分析及解決... 245
11.3.4 優(yōu)化效果... 247
11.4 案例四... 248
11.4.1 問題背景... 248
11.4.2 問題描述... 249
11.4.3 問題分析及解決... 251
11.4.4 優(yōu)化效果... 254
11.5 案例五... 255
11.5.1 問題背景... 255
11.5.2 問題描述... 255
11.5.3 問題分析及解決... 256
11.5.4 優(yōu)化效果... 258
11.6 案例六... 259
11.6.1 問題背景... 259
11.6.2 問題描述... 259
11.6.3 問題分析及解決... 262
11.6.4 優(yōu)化效果... 266
11.7 案例七... 267
11.7.1 問題背景... 267
11.7.2 問題描述... 268
11.7.3 問題分析及解決... 271
11.7.4 優(yōu)化效果... 274
11.8 案例八... 277
11.8.1 問題背景... 277
11.8.2 問題描述... 277
11.8.3 問題分析及解決... 281
11.9 案例九... 282
11.9.1 問題背景... 282
11.9.2 問題描述... 286
11.9.3 問題分析及解決... 288
11.9.4 優(yōu)化效果... 289
11.10 案例十... 290
11.10.1 問題背景... 290
11.10.2 問題描述... 291
11.10.3 問題分析及解決... 292
11.10.4 優(yōu)化效果... 295
展開全部
高性能SQL調(diào)優(yōu)精要與案例解析 作者簡介
閆書清,網(wǎng)名:蘭花島主_北京(lhdz_bj),20世紀(jì)90年代初大學(xué)畢業(yè)至今,一直默默深耕于數(shù)據(jù)庫領(lǐng)域,擅長數(shù)據(jù)庫優(yōu)化、數(shù)據(jù)庫分析診斷、數(shù)據(jù)庫規(guī)劃設(shè)計(jì)等。曾供職于能源、金融、電信等多個(gè)行業(yè),任多家大型企業(yè)首席DBA及數(shù)據(jù)庫架構(gòu)師等職位。