第一部分DB2基础 1
第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数据库设计 48
第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数据库性能优化 197
第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.1db2top 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
第四部分 高级优化技术 342
第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