标题：DB2设计与性能优化
图书信息
  作者：王飞鹏 (作者), 陈辉 (作者), 张广舟 (作者)
出版社: 电子工业出版社; 第1版 (2011年4月1日) 
丛书名: 舞动DB2系列 
平装: 390页 
正文语种: 简体中文 
开本: 16 
ISBN: 7121130947, 9787121130946 
条形码: 9787121130946 
产品尺寸及重量: 25.6 x 18.2 x 3.4 cm ; 699 g 
内容简介
《DB2设计与性能优化:原理、方法与实践》原汁原味地展示了DB2设计和优化技术，深入剖析了DB2的工作原理。全书分为4部分，共11章。 第一部分解析数据库性能的本质问题。第二部分从设计高性能数据库的角度，详细介绍如何使用DB2数据库设计高质量的应用系统，内容包括DB2数据库逻辑设计、DB2数据库物理设计、DB2 pureXML数据库设计及DB2工作负载设计。第三部分介绍如何优化DB2数据库，内容包括性能监控及参数调整、SQL语句优化策略、锁和日志优化等。第四部分阐述DB2高级性能加速技术，主要包括DB2 pureScale集群和solidDB高速缓存加速。 附录部分列出了常用监控命令用法和缩略语释义，还特别提供了PAT树的放大图，供读者进行数据库性能优化时使用。 
编辑推荐
IBM信息管理开发部总经理吉燕勇推荐序
IBMD B2开发部资深经理干毅民推荐序
IBM信息管理首席架构师陈奇博士任技术顾问 
媒体推荐
这本由DB2资深工程师撰写的书，是信息管理领域的一朵奇葩，专注于数据库设计与性能优化方面，内容非常全面，定位非常准确，方法非常实用，相信她能帮助中国的高端信息管理技术人才更上一层楼。
——IBM中国开发心、信息管理产品开发部总经理 吉燕勇
作者具有为政府、电信、金融等行业客户做数据库咨询和实施经验，充分了解生产环境中客户遇到的实际问题。上面的一切使得本书能想读者之所想，写读者之所需。
——IBM中国开发DB2开发资源经理 干毅民
当我接连读完第1章和第2章，我发现作者不但目标长远，下的功夫也极深。案例分析部分环环紧扣，步步精彩。贯穿整本书的线索使我迫不及待地追逐一个又一个的疑问，一直读过数百页。我不得不惊叹，这本书本身就是一个完整的理论体系，扩能长龙飞舞，缩能稳如泰山。
——IBM信息管理产品首席架构师 美国加州大学博士 陈奇
书里既有惊心动魄的危机处理纪实，又有摸爬滚打积累的实践心得。有时你会享用到最新技术的说明资料，有时你会感同身受实战技巧，有时你也会对作者独特的分析视角感叹不已。我很欣慰，一部DBA案头必备，可以传世的经典之作诞生了！
——IT诸葛网总裁 焦新港 
作者简介
王飞鹏，DB2数据库资深顾问。曾为电信、银行、中央部委、中国高铁等大型数据库项目作出了重要贡献。首次提也PAT方法学，为解决数据库性能问题提供了分析标准。发表数据库论文12篇，拥有软件专利3项。每年通过大量咨询、讲座、培训等方式，为数据库人才更好地运用数据库技术做出了最大的努力。
陈辉，DB2数据库内核开发工程师。来自IBM中国DB2开发团队，具有多年DB2引擎开发经验。目前从事DB2内核开发和客户技术支持工作，精于DB2问题诊断处理，拥有系统师认证、IBM DB2各项认证。
张广舟，DB2数据库资深软件工程师。多年来一直从事DB2核心开发工作。现任IBM中国SQL编译器和优化器开发组长。曾发表多篇数据库技术论文，擅于解决大型数据库性能问题，并拥有软件专利1项。
成孜论，数据库咨询专家。曾为荷兰银行(香港)系统数据库技术顾问、KDDI通信数据库咨询师。现受聘为中国大陆某金融机构数据库Senior Consultant。 
目录
第一部分 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