發表於2024-11-22
很多時候,核心模塊的性能問題,很可能是數據庫的問題。《高性能SQL調優精要與案例解析》基礎篇講解瞭SQL調優的理論基礎,實踐篇通過10個實際案例,介紹瞭遇到性能問題時,SQL調優的分析思路、方法、步驟以及調優後的效果。很多時候,核心模塊的性能問題,很可能是數據庫的問題。《高性能SQL調優精要與案例解析》基礎篇講解瞭SQL調優的理論基礎,實踐篇通過10個實際案例,介紹瞭遇到性能問題時,SQL調優的分析思路、方法、步驟以及調優後的效果。
《高性能SQL調優精要與案例解析》共分為兩篇,基礎篇(第1 章~第10 章)介紹瞭SQL 調優應該具備和掌握的理論和方法,實踐篇(第11 章)精選並深入解析瞭10 個現實中的實際案例。
《高性能SQL調優精要與案例解析》前3 章主要介紹瞭Oracle 數據庫架構設計及實現方麵的內容。第4 章詳細講解瞭Oracle 各種數據庫對象的相關實現、特性和理解。第5 章介紹瞭事務及Oracle 事務相關的特性。第6~8 章詳細講解瞭執行計劃及其相關因素、方法和元素。第9~10 章分彆講解瞭如何通過分析SQL 語句執行計劃來確定其性能瓶頸,進而解決相關問題的思路和方法。第11 章以精選的10 個現實中的實際案例為樣本,並對其逐一進行瞭理論結閤實踐的深入講解和剖析,以期通過實際案例的解析,達到讀者對基礎理論進行驗證、再學習的目的。
《高性能SQL調優精要與案例解析》適用於所有關係數據庫相關從業人員,尤其是中高端技術人員。
閆書清,網名:蘭花島主_北京(lhdz_bj),20世紀90年代初大學畢業至今,一直默默深耕於數據庫領域,擅長數據庫優化、數據庫分析診斷、數據庫規劃設計等。曾供職於能源、金融、電信等多個行業,任多傢大型企業首席DBA及數據庫架構師等職位。
基礎篇
第1 章 整體架構 2
1.1 實例 2
1.2 數據庫 3
1.3 整體架構圖解 5
第2 章 內存架構 7
2.1 係統全局區 7
2.1.1 共享池 7
2.1.2 數據緩衝 8
2.1.3 重做日誌緩衝 8
2.1.4 係統全局區相關信息 9
2.2 程序全局區 9
2.2.1 會話區 9
2.2.2 SQL 工作區 10
2.2.3 程序全局區的相關信息 10
第3 章 存儲架構 11
3.1 塊 11
3.2 區間 13
3.3 段 14
3.4 錶空間 14
第4 章 對象類型 17
4.1 錶 17
4.1.1 錶的概念 17
4.1.2 錶的注解 17
4.1.3 錶與段 18
4.1.4 錶分區 19
4.2 索引 21
4.2.1 索引的概念 21
4.2.2 索引的注解 21
4.2.3 本地索引和全局索引 24
4.2.4 B*Tree 索引組織結構 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 過程和函數 31
4.9.1 過程和函數的概念 31
4.9.2 過程和函數的注解 32
4.10 觸發器 32
4.10.1 觸發器的概念 32
4.10.2 觸發器的注解 33
4.11 包 33
4.11.1 包的概念 33
4.11.2 包注解 33
4.12 約束 34
4.12.1 約束的概念 34
4.12.2 約束的注解 34
第5 章 事務 35
5.1 事務的概念 35
5.2 事務的特性 36
5.3 ANSI/ISO SQL 標準定義的事務隔離級彆 36
5.4 Oracle 支持的事務隔離級彆 36
5.5 事務的開始和結束 37
5.6 事務的相關信息 37
第6 章 執行計劃 39
6.1 執行計劃的概念 39
6.2 係統統計數據 40
6.3 對象統計數據 41
6.4 擴展統計數據 42
6.4.1 擴展統計數據的概念 42
6.4.2 擴展統計數據的限製 42
6.5 執行計劃的獲取方法 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 執行計劃閱讀及分析方法 58
第7 章 執行計劃操作與分析 59
7.1 錶相關操作 59
7.2 索引相關操作 65
7.3 物化視圖相關操作 72
7.4 連接相關操作 75
7.5 分區相關操作 91
7.6 並行相關操作 98
7.6.1 並行相關的概念 98
7.6.2 並行相關操作示例 100
7.7 排序相關操作 111
7.8 視圖相關操作 116
7.9 集閤相關操作 118
7.10 位圖相關操作 121
7.11 聚閤相關操作 126
7.12 分析函數相關操作 127
7.13 層級相關操作 130
7.14 DDL 及DML 相關操作 134
7.15 其他相關操作 142
第8 章 調優相關數據項 150
8.1 執行計劃數據項 150
8.2 性能統計信息數據項 151
第9 章 確定瓶頸 153
9.1 分析Cost 方法 153
9.1.1 方法說明 153
9.1.2 分析要點 153
9.1.3 方法優勢 154
9.1.4 方法劣勢 154
9.2 分析Trace 結果方法 154
9.2.1 方法說明 154
9.2.2 分析要點 157
9.2.3 方法優勢 157
9.2.4 方法劣勢 157
9.3 目測分析方法 157
9.3.1 方法說明 157
9.3.2 分析要點 158
9.3.3 方法優勢 158
9.3.4 方法劣勢 158
第10 章 解決問題 159
10.1 閤理使用索引 159
10.1.1 索引應用的一般原則 161
10.1.2 索引應用的認識誤區 162
10.2 閤理使用錶分區 163
10.2.1 閤理選擇錶分區類型 163
10.2.2 閤理選擇索引類型 164
10.3 收集和維護統計數據 164
10.3.1 自動收集統計數據 164
10.3.2 手動收集和維護統計數據 166
10.3.3 收集和維護擴展統計數據 169
10.4 SQL 語句改寫 170
10.4.1 消除視圖 170
10.4.2 標量子查詢改為外連接 172
10.4.3 update 改為merge into 173
10.4.4 正確使用分析函數 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 改寫為集閤運算符 190
10.5 正確使用Hint 191
10.5.1 Hint 的概念及場景 191
10.5.2 Hint 的具體語法 192
10.5.3 常用Hint 193
10.6 數據庫開發常識 220
10.6.1 判斷SQL 性能的標準 220
10.6.2 索引相關誤區 220
10.6.3 慎用多視圖連接 222
10.6.4 慎用循環Delete 222
10.6.5 考量綁定變量的應用 223
10.6.6 減少參與連接的錶數 223
10.6.7 慎用觸發器 223
10.6.8 慎用臨時錶 224
10.6.9 錶連接寫法選擇和排序 225
實踐篇
第11 章 案例解析 228
11.1 案例一 228
11.1.1 問題背景 228
11.1.2 問題描述 229
11.1.3 問題分析及解決 230
11.1.4 優化效果 233
11.2 案例二 235
11.2.1 問題背景 235
11.2.2 問題描述 235
11.2.3 問題分析及解決 237
11.2.4 優化效果 241
11.3 案例三 242
11.3.1 問題背景 242
11.3.2 問題描述 244
11.3.3 問題分析及解決 245
11.3.4 優化效果 247
11.4 案例四 248
11.4.1 問題背景 248
11.4.2 問題描述 249
11.4.3 問題分析及解決 251
11.4.4 優化效果 254
11.5 案例五 255
11.5.1 問題背景 255
11.5.2 問題描述 255
11.5.3 問題分析及解決 256
11.5.4 優化效果 258
11.6 案例六 259
11.6.1 問題背景 259
11.6.2 問題描述 259
11.6.3 問題分析及解決 262
11.6.4 優化效果 266
11.7 案例七 267
11.7.1 問題背景 267
11.7.2 問題描述 268
11.7.3 問題分析及解決 271
11.7.4 優化效果 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 優化效果 289
11.10 案例十 290
11.10.1 問題背景 290
11.10.2 問題描述 291
11.10.3 問題分析及解決 292
11.10.4 優化效果 295
在當今信息時代,各行業的數據均呈爆炸式增長,這不僅為我們認識和掌握規律,進而推動整個社會發展提供瞭更多依據、途徑和動力,同時對我們提齣瞭更高的目標和要求。因為,麵對如此海量數據,我們除瞭要科學地管理好它,更重要的是,要充分地利用好它,否則,這些將成為我們沉重的負擔和纍贅。那麼,如何纔能從這些海量數據中挖掘齣蘊藏的巨大價值呢?
以Oracle 為首的關係型數據庫,曆經幾十年的高速發展,憑藉其理論和技術上的優勢,目前已為廣大客戶所垂青和依賴,並充斥於各行各業的每個角落。同時,關係型數據庫也已成為海量數據的主要容器和工具,以至於,以Oracle 為首的關係型數據庫幾乎成瞭數據的代名詞。誠然,當今的數據庫領域是個開放、多元的時代,各種數據産品和概念可謂百花齊放,但是,由於目前除關係型數據庫外的其他産品都有其特定的場景和限製,因而在短時期內,關係型數據庫在數據領域的重要地位依然難以被撼動和替代。
說到海量數據,大傢自然會想到數據庫優化,進而又必然會想到SQL 調優,當然,除瞭SQL 調優,數據庫優化還涉及其他方麵的諸多內容。實際上,針對海量數據和數據庫優化,SQL 調優占據著非常大的比重,通常也會帶來非常明顯的效果。現實情況中,一條存在性能問題的SQL 語句,也許會拖垮整個係統;同時,一條SQL 語句的完美優化,又可能使整個係統的問題瞬間灰飛煙滅。鑒於SQL 調優的重要性,本書將對其進行詳細論述和深入解析。
目前,SQL 調優方麵的優秀書籍在國內市場並不多見,希望本書能填補這個空白和缺憾。本書開篇從基礎入手,詳細論述SQL 調優所需具備的理論知識,以及對它們的深入、正確理解。本書後半部分精選瞭10 個實際案例作為樣本,並結閤前麵的基礎理論,對這些案例進行瞭詳細、深入的剖析,以說明應用基礎理論解決實際案例的思路、方法和步驟等。本書既注重基礎理論,又強調實踐應用,通篇理論和實踐渾然一體,相信會讓各位讀者有煥然一新、豁然開朗的感覺,同時,衷心希望各位讀者能通過本書多多受益。
本書雖然基於Oracle 關係型數據庫創作與編寫,但就理論和實踐方麵,對其他關係型數據庫的SQL 調優,依然具有很好的藉鑒意義。另外,作者在本書適當位置為讀者留有疑問,且很多語句或命令中帶有省略號“...”,初衷在於啓發讀者主動學習、研究和解決問題的動力和方法,同時為讀者學習、思考和研究留有更大空間,從而達到授人以漁而非僅授人以魚的效果。
作者結閤多年來的學習、研究和實踐經驗,旨在努力打造一部SQL 調優方麵的經典之作,更希望其能成為讀者學習航程上的一座燈塔。但限於時間等諸多因素,疏漏之處再所難免,歡迎各位讀者批評指正。
最後,謹對多年來一直默默陪伴和支持我的傢人及所有的老師、朋友,錶示深深的感激和敬意!
特彆值得提齣的是,本書的齣版得到瞭電子工業齣版社安娜等各位老師的大力支持和幫助,沒有各位老師的耐心指導和辛勤付齣,本書不會在這麼短時間內如此完美地展現在讀者麵前,在此,錶示衷心的感謝和深深的敬意。
高性能SQL調優精要與案例解析 下載 mobi pdf epub txt 電子書 格式 2024
高性能SQL調優精要與案例解析 下載 mobi epub pdf 電子書此用戶未填寫評價內容
評分10歲的時候,開始涉獵boost。
評分書籍很好,每年618都必須屯一波圖書,很劃算
評分15歲的時候,開始數理統計概率論。
評分 評分我傢祖孫13代,都生活在南京城。
評分基礎篇,學習,如何?調試sql,對她晉升入正確的一件整體架構存儲架構,內存價格對象設計沒對象那些事務執行計劃進行今晚操作與分析,調試相關項目,確定瓶頸解決問題,兒子今天學習,理論,和實踐的結閤,掌握精華,先去的是個人樣例,結閤理論知識進行小學生的破襲戰術的應用技術,世界就是這樣,你的思路方法和步驟,背景問題,分析問題,描述問題分析解決思路,這種油畫效果。
評分感謝京東商城給予的優質的服務,從倉儲管理、物流配送等各方麵都是做的非常好。送貨及時,配送員也非常的熱情,有時候不方便收件時,安排時間另行配送。同時京東商城在售後管理上也非常好。給予我們非常好的購物體驗。順商祺!
評分13歲的時候,開始學習綫代
高性能SQL調優精要與案例解析 mobi epub pdf txt 電子書 格式下載 2024