第一部分 DB2基礎
第1章 我看DB2設計與優化 1
1.1 數據庫設計與性能優化 2
1.1.1 收集需求 3
1.1.2 設計概念模型 4
1.1.3 設計邏輯結構 5
1.1.4 設計物理結構 6
1.1.5 實施、運行和維護階段 8
1.2 性能問題 8
1.2.1 什麼是性能問題 8
1.2.2 為係統做性能基準測試 9
1.2.3 製訂性能優化目標 10
1.2.4 把問題分類 10
1.3 使用PAT方法學解決問題 11
1.3.1 什麼是PAT方法學 11
1.3.2 PAT方法學優化策略 11
1.3.3 使用PAT方法學 15
1.3.4 使用PAT方法學的步驟 25
1.3.5 PAT樹使用建議 26
1.4 小結 26
第2章 性能優化利器——PAT方法 28
2.1 優化步驟 29
2.2 業務分析 29
2.2.1 經營分析係統的架構 29
2.2.2 性能問題的提齣 31
2.3 係統分析 31
2.3.1 硬件和操作係統 32
2.3.2 數據庫物理設計 33
2.3.3 分析結果 34
2.4 製訂優化計劃 35
2.4.1 優化計劃安排 35
2.4.2 實踐優化策略 35
2.5 使用PAT方法 36
2.5.1 優化“每天下午係統響應慢”問題(Perf_SlowAfterNoon_Sys) 36
2.5.2 優化“大數據轉入”問題(Perf_Load_App) 37
2.5.3 優化“客戶流失分析”問題(Perf_Customer_App) 38
2.5.4 優化“賬戶資費”問題(Perf_ACC_App) 39
2.5.5 優化“數據質量管理”問題(Perf_Data_App) 41
2.5.6 優化“係統逐漸變慢”問題(Perf_SlowDown_Sys) 42
2.5.7 優化總結 45
2.6 小結 45
第二部分 DB2數據庫設計
第3章 高質量邏輯設計 48
3.1 常規錶設計 49
3.1.1 錶設計的原則 49
3.1.2 列定義原則 52
3.1.3 數據完整性設計 53
3.1.4 其他考慮因素 54
3.2 索引設計 56
3.2.1 索引的概念 56
3.2.2 深入解析索引原理 60
3.2.3 創建索引 67
3.2.4 索引設計原則 67
3.2.5 索引維護 70
3.3 MDC錶設計 71
3.3.1 多維群集(MDC) 71
3.3.2 塊索引 72
3.3.3 MDC錶的優勢 73
3.3.4 MDC錶設計原則 74
3.4 錶分區設計 76
3.4.1 分區錶 76
3.4.2 分區錶索引 78
3.4.3 轉入轉齣 80
3.4.4 案例分析 82
3.5 DPF設計 83
3.5.1 數據庫分區 83
3.5.2 數據庫分區組 87
3.5.3 DPF設計原則 88
3.5.4 MDC、DPF和錶分區 90
3.6 MQT錶設計 91
3.6.1 MQT錶介紹 91
3.6.2 MQT錶適用範圍 93
3.6.3 MQT錶設計原則 93
3.6.4 MQT錶設計示例 94
3.7 臨時錶設計 95
3.7.1 全局臨時錶(CGTT/DGTT) 95
3.7.2 臨時錶設計 96
3.7.3 設計示例 97
3.8 小結 98
第4章 高質量物理設計 100
4.1 物理設計 101
4.1.1 確定數據庫的物理結構 101
4.1.2 評價物理結構 102
4.2 設置和管理CPU 103
4.2.1 DB2的並行處理SMP 103
4.2.2 DB2的並行處理MPP 104
4.2.3 SMP集群(SMP+MPP) 105
4.3 設置和管理I/O 106
4.3.1 磁盤和存儲設計 107
4.3.2 磁盤陣列技術 109
4.3.3 條帶化 111
4.3.4 I/O相關配置參數 113
4.3.5 I/O存儲設計小結 114
4.3.6 I/O設計範例 116
4.4 錶空間設計 116
4.4.1 錶空間概念 116
4.4.2 錶空間類型 117
4.4.3 錶空間設計總結 119
4.4.4 錶空間設計範例 127
4.5 設置和管理內存 128
4.5.1 內存 128
4.5.2 緩衝池設計 134
4.5.3 STMM內存自動管理 140
4.6 數據壓縮 143
4.6.1 壓縮的重要性 143
4.6.2 壓縮的種類 144
4.7 小結 146
第5章 pureXML數據庫設計 149
5.1 DB2 pureXML 150
5.1.1 pureXML之風采 150
5.1.2 XML存儲 151
5.1.3 XQuery與SQL/XML 153
5.1.4 XML Schema 157
5.2 XML索引 159
5.2.1 XML索引類型 159
5.2.2 創建索引 160
5.2.3 XML索引優化 161
5.3 使用pureXML設計高效的數據庫 164
5.3.1 動態錶單類設計 164
5.3.2 元數據類設計 165
5.3.3 數據交換類設計 166
5.3.4 社交網絡類設計 167
5.4 XML數據庫的性能優化 168
5.5 小結 170
第6章 工作負載設計 172
6.1 DB2工作負載介紹 173
6.2 工作負載管理器組件 176
6.2.1 工作負載 176
6.2.2 服務類 178
6.2.3 閾值 180
6.2.4 工作類集閤和工作操作集閤 182
6.2.5 DB2和AIX / Linux WLM 185
6.2.6 小結 186
6.3 WLM監控 187
6.3.1 監控環境 187
6.3.2 工作負載監控示例 189
6.4 設計DB2工作負載 193
6.5 工作負載範例 194
6.6 小結 195
第三部分 DB2數據庫性能優化
第7章 DB2配置優化與監控 197
7.1 配置參數優化 198
7.1.1 操作係統參數優化 198
7.1.2 DBM參數優化 199
7.1.3 DB參數優化 201
7.1.4 注冊變量優化 207
7.1.5 常見問題總結 207
7.2 性能監控的途徑 209
7.2.1 快照監控 209
7.2.2 事件監控 216
7.2.3 db2pd監控 219
7.3 新監控框架 222
7.3.1 錶函數 222
7.3.2 管理視圖 225
7.4 係統監控的方法 227
7.4.1 CPU監控 227
7.4.2 內存監控 230
7.4.3 I/O監控 233
7.5 DB2高級監控工具 236
7.5.1 db2top 236
7.5.2 Data Studio管理控製颱 237
7.5.3 Optim性能管理器 239
7.6 本章小結 239
第8章 SQL語句性能優化實戰 241
8.1 SQL語句編寫 242
8.1.1 謂詞 242
8.1.2 多餘的連接 243
8.1.3 子查詢 244
8.1.4 外連接 244
8.1.5 UNION ALL的使用 245
8.1.6 Having子句 245
8.1.7 OFNR和FFNR子句 245
8.1.8 使用參數標記 246
8.2 優化器 246
8.2.1 優化級彆 248
8.2.2 注冊變量 250
8.2.3 內存參數 251
8.2.4 錶和索引設計 251
8.2.5 統計信息 251
8.2.6 信息性約束 253
8.3 SQL語句訪問計劃分析 254
8.3.1 解釋工具 254
8.3.2 查詢重寫 258
8.3.3 訪問路徑 260
8.3.4 連接方法 265
8.3.5 問題SQL語句分析 268
8.4 其他優化建議 275
8.4.1 特殊的優化方法 275
8.4.2 Design Advisor優化指導 278
8.4.3 語句集中器 278
8.5 存儲過程優化 280
8.6 XQuery優化 288
8.6.1 XQuery簡介 288
8.6.2 如何使用 289
8.7 數據在綫優化 294
8.7.1 REORGCHK 294
8.7.2 REORG 296
8.8 本章小結 298
第9章 鎖和日誌優化 302
9.1 鎖 303
9.1.1 鎖等待和超時 303
9.1.2 鎖升級 304
9.1.3 死鎖 304
9.2 鎖的類型與兼容性 306
9.2.1 鎖的類型 306
9.2.2 鎖兼容 309
9.3 隔離級彆與影響並發的因素 310
9.3.1 隔離級彆介紹 310
9.3.2 DB2注冊變量 311
9.3.3 當前已落實 312
9.4 鎖監控和問題解決 313
9.4.1 鎖等待監控 314
9.4.2 鎖超時監控 318
9.4.3 死鎖監控 327
9.5 日誌與性能 331
9.5.1 循環日誌 332
9.5.2 歸檔日誌 332
9.5.3 日誌的使用 333
9.5.4 寫日誌和寫錶 333
9.5.5 日誌配置參數 334
9.6 日誌監控與優化 337
9.6.1 日誌監控 337
9.6.2 日誌瓶頸與優化 339
9.7 本章小結 340
第四部分 高級優化技術
第10章 pureScale海量事務處理 342
10.1 什麼是pureScale 343
10.2 pureScale架構 344
10.3 DB2 pureScale和 Oracle RAC的對比 346
10.4 DB2 pureScale實例 347
10.4.1 實例背景 347
10.4.2 硬件配置 348
10.4.3 軟件安裝配置 351
10.4.4 客戶應用測試 354
10.5 小結 358
第11章 solidDB高速緩存優化 360
11.1 什麼是solidDB高速緩存 361
11.2 solidDB高速緩存DB2數據 364
11.3 solidDB高速緩存應用場閤 364
11.4 solidDB高速緩存架構 365
11.5 電信行業應用案例 366
11.5.1 應用背景 366
11.5.2 使用solidDB高速緩存加速 367
11.6 小結 375
附錄A 常用監控命令用法 377
附錄B 縮略語釋義 382
後記 389
參考文獻 391
· · · · · · (
收起)