第一部分 基 礎
第 1 章 性能問題 ............................................. 2
1.1 需要為性能做規(guī)劃嗎................................ 2
1.1.1 需求分析 ....................................... 2
1.1.2 分析與設計 ................................... 4
1.1.3 編碼和單元測試............................ 4
1.1.4 集成和驗收測試............................ 6
1.2 為性能而設計 ........................................... 6
1.2.1 缺乏數(shù)據(jù)庫邏輯設計 .................... 6
1.2.2 實現(xiàn)通用表 ................................... 7
1.2.3 未使用約束加強數(shù)據(jù)完整性......... 7
1.2.4 缺乏數(shù)據(jù)庫物理設計 .................... 7
1.2.5 未正確選擇數(shù)據(jù)類型 .................... 8
1.2.6 未正確使用綁定變量 .................... 8
1.2.7 未利用數(shù)據(jù)庫高級特性 ................ 8
1.2.8 未使用 PL/SQL 進行以數(shù)據(jù)為
中心的處理 ................................... 9
1.2.9 執(zhí)行不必要的提交........................ 9
1.2.10 持續(xù)打開和關閉數(shù)據(jù)庫連接....... 9
1.3 你真的面臨性能問題嗎............................ 9
1.3.1 系統(tǒng)監(jiān)控 ......................................10
1.3.2 響應時間監(jiān)控 ..............................10
1.3.3 強迫性調優(yōu)障礙...........................10
1.4 如何處理性能問題 ..................................11
1.4.1 業(yè)務視角和系統(tǒng)視角 ...................11
1.4.2 問題的編錄 ..................................12
1.4.3 解決問題 ......................................12
1.5 小結 .........................................................15
第 2 章 關鍵概念 ............................................16
2.1 選擇率和基數(shù) ..........................................16
2.2 什么是游標..............................................17
2.3 游標的生命周期 ......................................18
2.4 解析的工作原理 ......................................20
2.4.1 可共享游標 ..................................22
2.4.2 綁定變量......................................25
2.5 讀寫數(shù)據(jù)塊..............................................35
2.6 檢測 .........................................................36
2.6.1 應用程序代碼 ..............................37
2.6.2 數(shù)據(jù)庫調用 ..................................39
2.7 小結 .........................................................42
第二部分 識 別
第 3 章 分析可重現(xiàn)的問題...........................45
3.1 跟蹤數(shù)據(jù)庫調用 ......................................45
3.1.1 SQL 跟蹤 .....................................45
3.1.2 跟蹤文件的結構 ..........................57
3.1.3 使用 TRCSESS ............................59
3.1.4 探查器..........................................60
3.1.5 使用 TKPROF..............................60
3.1.6 使用 TVD$XTAT ........................70
3.2 探查 PL/SQL 代碼...................................79
3.2.1 使用 DMBS_HPROF ...................79
3.2.2 使用 DBMS_PROFILER .............85
3.2.3 觸發(fā)探查器 ..................................89
3.3 小結 ......................................................