注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡數(shù)據(jù)庫收獲,不止SQL優(yōu)化:抓住SQL的本質(zhì)

收獲,不止SQL優(yōu)化:抓住SQL的本質(zhì)

收獲,不止SQL優(yōu)化:抓住SQL的本質(zhì)

定 價:¥88.00

作 者: 梁敬彬,梁敬弘 著
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787121314360 出版時間: 2017-06-01 包裝: 平裝
開本: 16開 頁數(shù): 488 字數(shù):  

內(nèi)容簡介

  有人就有江湖,有江湖就有IT系統(tǒng),有IT系統(tǒng)就有數(shù)據(jù)庫,有數(shù)據(jù)庫就有SQL,SQL應用可一字概括:“廣”。加之其簡單易學,SQL實現(xiàn)也可一字概括:“樂”。 然而,SQL雖然實現(xiàn)簡單可樂,卻極易引發(fā)性能問題,那時廣大SQL使用人員可要“愁”就一個字,心碎無數(shù)次了。 緣何有性能問題?原因也一字概括:“量”。當系統(tǒng)數(shù)據(jù)量、并發(fā)訪問量上去后,不良SQL就會拖跨整個系統(tǒng),我們甚至找不出哪些SQL影響了系統(tǒng)。即便找到也不知如何動手優(yōu)化。此時的心情也可以一字概括:“懵”。 現(xiàn)在《收獲,不止SQL優(yōu)化——抓住SQL的本質(zhì)》開始帶你拋除煩惱,走進優(yōu)化的可樂世界! 首先教你SQL整體優(yōu)化、快速優(yōu)化實施、如何讀懂執(zhí)行計劃、如何左右執(zhí)行計劃這四大必殺招。整這些干嘛呢?答案是,傳授一個先整體后局部的宏觀解決思路,走進“道”的世界。 接下來帶領(lǐng)大家飛翔在“術(shù)”的天空。教你體系結(jié)構(gòu)、邏輯結(jié)構(gòu)、表設計、索引設計、表連接這五大要領(lǐng)。這么多套路,這又是要干嘛?別急,這是教你如何解決問題,準確地說,是如何不改寫即完成SQL優(yōu)化。 隨后《收獲,不止SQL優(yōu)化——抓住SQL的本質(zhì)》指引大家學會等價改寫、過程包優(yōu)化、高級SQL、分析函數(shù)、需求優(yōu)化這些相關(guān)的五大神功。有點頭暈,能否少一點套路?淡定,這還是“術(shù)”的范疇,依然是教你如何解決問題,只不過這次是如何改寫SQL完成優(yōu)化。 最后一個章節(jié)沒套路了,其中跟隨你多年的錯誤認識是否讓你懷疑人生,其中讓SQL跑得更慢的觀點,是否讓你三觀盡毀? 再多一點真誠吧,《收獲,不止SQL優(yōu)化——抓住SQL的本質(zhì)》提供掃二維碼輔助學習,是不是心被筆者給暖到了? 讀完全書,來,合上書本,閉上眼睛,深呼吸,用心來感受SQL優(yōu)化的世界。 一個字:“爽”!

作者簡介

  梁敬彬,福富研究院副理事長、公司四星級內(nèi)訓師。不僅是公司特級專家也是國內(nèi)一線知名數(shù)據(jù)庫專家,其個人及團隊在數(shù)據(jù)庫優(yōu)化和培訓領(lǐng)域有著豐富的經(jīng)驗、過硬的質(zhì)量和良好的口碑。多次應邀擔任國內(nèi)外數(shù)據(jù)庫大會的演講嘉賓,在業(yè)界有著廣泛的影響力。著有多本暢銷數(shù)據(jù)庫技術(shù)書籍,其代表作《收獲,不止Oracle》已成為數(shù)據(jù)庫領(lǐng)域有口皆碑的經(jīng)典書籍,《收獲,不止SQL優(yōu)化》即將開創(chuàng)一個新的里程碑。 梁敬弘,清華大學計算機系博士畢業(yè),在計算機領(lǐng)域和金融領(lǐng)域皆有建樹,擁有多項計算機相關(guān)核心專利技術(shù)的同時,還擁有金融行業(yè)的CFP等高級認證?,F(xiàn)就職于華夏銀行總行。

圖書目錄

第1章 全局在胸——用工具對SQL整體優(yōu)化 1
1.1 都有哪些性能工具 1
1.1.1 不同調(diào)優(yōu)場景分析 2
1.1.2 不同場景對應工具 2
1.2 整體性能工具的要點 4
1.2.1 五大性能報告的獲取 5
1.2.2 五大報告關(guān)注的要點 10
1.3 案例的分享與交流 18
1.3.1 和并行等待有關(guān)的案例 18
1.3.2 和熱塊競爭有關(guān)的案例 19
1.3.3 和日志等待有關(guān)的案例 20
1.3.4 新疆某系統(tǒng)的前臺優(yōu)化 20
1.3.5 浙江某系統(tǒng)的調(diào)優(yōu)案例 21
1.4 本章總結(jié)延伸與習題 21
1.4.1 總結(jié)延伸 21
1.4.2 習題訓練 23

第2章 風馳電掣——有效縮短SQL優(yōu)化過程 24
2.1 SQL調(diào)優(yōu)時間都去哪兒了 25
2.1.1 不善于批處理頻頻忙交互 25
2.1.2 無法抓住主要矛盾瞎折騰 25
2.1.3 未能明確需求目標白費勁 26
2.1.4 沒有分析操作難度亂調(diào)優(yōu) 26
2.2 如何縮短SQL調(diào)優(yōu)時間 27
2.2.1 先獲取有助調(diào)優(yōu)的數(shù)據(jù)庫整體信息 27
2.2.2 快速獲取SQL運行臺前信息 27
2.2.3 快速拿到SQL關(guān)聯(lián)幕后信息 28
2.3 從案例看快速SQL調(diào)優(yōu) 29
2.3.1 獲取數(shù)據(jù)庫整體的運行情況 29
2.3.2 獲取SQL的各種詳細信息 29
2.4 本章總結(jié)延伸與習題 32
2.4.1 總結(jié)延伸 32
2.4.2 習題訓練 33

第3章 循規(guī)蹈矩——如何讀懂SQL執(zhí)行計劃 34
3.1 執(zhí)行計劃分析概述 35
3.1.1 SQL執(zhí)行計劃是什么 35
3.1.2 統(tǒng)計信息用來做什么 36
3.1.3 數(shù)據(jù)庫統(tǒng)計信息的收集 37
3.1.4 數(shù)據(jù)庫的動態(tài)采樣 37
3.1.5 獲取執(zhí)行計劃的方法(6種武器) 40
3.2 讀懂執(zhí)行計劃的關(guān)鍵 48
3.2.1 解釋經(jīng)典執(zhí)行計劃方法 49
3.2.2 總結(jié)說明 55
3.3 從案例辨別低效SQL 55
3.3.1 從執(zhí)行計劃讀出效率 56
3.3.2 執(zhí)行計劃效率總結(jié) 60
3.4 本章習題、總結(jié)與延伸 60

第4章 運籌帷幄——左右SQL執(zhí)行計劃妙招 62
4.1 控制執(zhí)行計劃的方法綜述 63
4.1.1 控制執(zhí)行計劃的意義 63
4.1.2 控制執(zhí)行計劃的思路 64
4.2 從案例探索其方法及意義 65
4.2.1 HINT的思路 65
4.2.2 非HINT方式的執(zhí)行計劃改變 72
4.2.3 執(zhí)行計劃的固定 100
4.3 本章習題、總結(jié)與延伸 102

第5章 且慢,感受體系結(jié)構(gòu)讓SQL飛 103
5.1 體系結(jié)構(gòu)知識 104
5.1.1 組成 104
5.1.2 原理 104
5.1.3 體會 105
5.2 體系與SQL優(yōu)化 106
5.2.1 與共享池相關(guān) 107
5.2.2 數(shù)據(jù)緩沖相關(guān) 111
5.2.3 日志歸檔相關(guān) 116
5.3 擴展優(yōu)化案例 118
5.3.1 與共享池相關(guān) 118
5.3.2 數(shù)據(jù)緩沖相關(guān) 122
5.3.3 日志歸檔相關(guān) 126
5.4 本章習題、總結(jié)與延伸 130

第6章 且慢,體驗邏輯結(jié)構(gòu)讓SQL飛 132
6.1 邏輯結(jié)構(gòu) 132
6.2 體系細節(jié)與SQL優(yōu)化 133
6.2.1 Block 133
6.2.2 Segment與extent 137
6.2.3 Tablespace 139
6.2.4 rowid 139
6.3 相關(guān)優(yōu)化案例分析 140
6.3.1 塊的相關(guān)案例 141
6.3.2 段的相關(guān)案例 144
6.3.3 表空間的案例 148
6.3.4 rowid 151
6.4 本章習題、總結(jié)與延伸 153

第7章 且慢,探尋表的設計讓SQL飛 154
7.1 表設計 154
7.1.1 表的設計 155
7.1.2 其他補充 155
7.2 表設計與SQL優(yōu)化 156
7.2.1 表的設計 156
7.2.2 其他補充 179
7.3 相關(guān)優(yōu)化案例分析 184
7.3.1 分區(qū)表相關(guān)案例 185
7.3.2 全局臨時表案例 190
7.3.3 監(jiān)控異常的表設計 195
7.3.4 表設計優(yōu)化相關(guān)案例總結(jié) 199
7.4 本章習題、總結(jié)與延伸 199

第8章 且慢,學習索引如何讓SQL飛 200
8.1 索引知識要點概述 201
8.1.1 索引結(jié)構(gòu)的推理 201
8.1.2 索引特性的提煉 204
8.2 索引的SQL優(yōu)化 206
8.2.1 經(jīng)典三大特性 207
8.2.2 組合索引選用 217
8.2.3 索引掃描類型的分類與構(gòu)造 219
8.3 索引相關(guān)優(yōu)化案例 225
8.3.1 三大特性的相關(guān)案例 225
8.3.2 組合索引的經(jīng)典案例 231
8.4 本章習題、總結(jié)與延伸 234

第9章 且慢,弄清索引之阻礙讓SQL飛 235
9.1 索引的不足之處 235
9.1.1 索引的各種開銷 236
9.1.2 索引使用失效 236
9.2 感受美好索引另一面 237
9.2.1 索引各種開銷 237
9.2.2 索引使用失效 243
9.2.3 索引取舍控制 246
9.3 從案例看索引各種恨 248
9.3.1 索引的開銷 248
9.3.2 索引去哪兒了 253
9.3.3 索引的取舍 267
9.4 本章習題、總結(jié)與延伸 269

第10章 且慢,其他索引應用讓SQL飛 270
10.1 其他索引的總體概述 270
10.1.1 位圖索引 271
10.1.2 函數(shù)索引 271
10.1.3 反向鍵索引 272
10.1.4 全文索引 272
10.2 走進其他索引的世界 272
10.2.1 位圖索引 273
10.2.2 函數(shù)索引 278
10.2.3 反向鍵索引 282
10.2.4 全文索引 282
10.3 其他索引的相關(guān)案例 285
10.3.1 位圖索引 286
10.3.2 函數(shù)索引 288
10.3.3 反向鍵索引 297
10.3.4 全文索引 299
10.4 本章習題、總結(jié)與延伸 300

第11章 且慢,表連接的秘密讓SQL飛 302
11.1 三大經(jīng)典表連接概要說明 302
11.2 各類型表連接的知識要點 303
11.2.1 從表的訪問次數(shù)探索 304
11.2.2 表驅(qū)動順序與性能 308
11.2.3 表連接是否有排序 311
11.2.4 各連接的使用限制 314
11.2.5 三大表連接的特性總結(jié) 317
11.3 從案例學表連接優(yōu)化要點 (三刀三斧四式走天下) 317
11.3.1 一次Nested Loops Join的優(yōu)化全過程 318
11.3.2 一次Hash Join 的 優(yōu)化全過程 320
11.3.3 一次 Merge Sort Join 的優(yōu)化全過程 324
11.3.4 一次統(tǒng)計信息收集不準確引發(fā)的NL性能瓶頸 329
11.4 本章習題、總結(jié)與延伸 332

第12章 動手,經(jīng)典等價改寫讓SQL飛 333
12.1 設法減少訪問路徑 333
12.1.1 Case When改造 334
12.1.2 Rownum分頁改寫 337
12.1.3 Hint直接路徑改造 338
12.1.4 只取你所需的列 339
12.1.5 避免或者減少遞歸調(diào)用 341
12.1.6 ROWID優(yōu)化應用 347
12.2 設法避免外因影響 350
12.2.1 Hint改寫確保執(zhí)行計劃正確 350
12.2.2 避免子查詢的錯誤執(zhí)行計劃 350
12.2.3 所在環(huán)境的資源不足等問題 351
12.3 本章習題、總結(jié)與延伸 351

第13章 動手,過程函數(shù)優(yōu)化讓SQL飛 352
13.1 PL/SQL優(yōu)化重點 353
13.1.1 定義類型的優(yōu)化 353
13.1.2 PL/SQL的集合優(yōu)化 355
13.1.3 PL/SQL的游標合并 361
13.1.4 動態(tài)SQL 364
13.1.5 使用10046 trace跟蹤PL/SQL 368
13.2 PL/SQL優(yōu)化其他相關(guān)擴展 369
13.2.1 編譯無法成功 369
13.2.2 通用腳本分享 370
13.3 本章習題、總結(jié)與延伸 380

第14章 動手,高級寫法應用讓SQL飛 381
14.1 具體SQL調(diào)優(yōu)思路 381
14.1.1 改寫SQL調(diào)優(yōu) 382
14.1.2 不改寫SQL調(diào)優(yōu) 382
14.2 高級SQL介紹與案例 383
14.2.1 GOURP BY的擴展 383
14.2.2 INSERT ALL 389
14.2.3 MERGE 392
14.2.4 WITH子句 402
14.3 本章習題、總結(jié)與延伸 404

第15章 動手,分析函數(shù)讓SQL飛 406
15.1 高級SQL之分析函數(shù) 407
15.1.1 語法概述 407
15.1.2 特別之處 407
15.2 分析函數(shù)詳解與案例 409
15.2.1 學習詳解 410
15.2.2 案例分享 417
15.3 本章習題、總結(jié)與延伸 432

第16章 動手,把握需求改寫讓SQL飛 433
16.1 考慮需求最小化 434
16.2 千萬弄清SQL改造的等價性 434
16.2.1 看似等價的寫法,其實不等價 435
16.2.2 看似不等價的寫法,其實等價 438
16.3 開發(fā)設計應用中的需求 439
16.3.1 界面權(quán)限設計優(yōu)化 439
16.3.2 界面匯總與展現(xiàn) 439
16.3.3 界面實時刷新改良 439
16.3.4 目錄樹菜單的優(yōu)化 440
16.4 場景選擇的經(jīng)典案例之誰是Count(*)之王 440
16.4.1 優(yōu)化過程 440
16.4.2 優(yōu)化總結(jié) 445
16.5 本章習題、總結(jié)與延伸 446

第17章 總結(jié)與延伸:從勿信訛傳到洞若觀火 447
17.1 SQL優(yōu)化的各個誤區(qū) 447
17.1.1 COUNT(*)與COUNT(列)的傳言 447
17.1.2 談SQL編寫順序之流言蜚語 451
17.1.3 IN與EXISTS之爭 455
17.1.4 總結(jié)探討 457
17.2 誤區(qū)背后的話題擴展 457
17.2.1 話題擴展之等價與否優(yōu)先 457
17.2.2 話題擴展之顛覆誤區(qū)觀點 458
17.3 全書完,致讀者 461

本目錄推薦

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