网上购物 货比三家
您现在的位置:快乐比价网 > 图书 > 计算机与网络 > 数据库 > 商品详情

DB2数据库性能调整和优化

分享到:
DB2数据库性能调整和优化

最 低 价:¥51.00

定 价:¥68.00

作 者:牛新庄

出 版 社:清华大学出版社

出版时间:2009 年5月

I S B N:9787302199533

价格
51.00元
价格
51.00元
价格
51.00元
价格
53.70元
价格
54.40元
价格
57.80元
价格
57.80元

商品详情

编辑推荐

从全局的角度(操作系统、存储、数据库设计和应用SQL)来讲解如何调优。.
  本书将基本概念、深入研究、性能监控、调整案例等相关内容,按照每章一条主线展开,从而使读者通过每章的阅读,能够对相关知识有一个纵向的深入认知。..
  本书性能问题基本上涵盖了实际工作中90%的性能问题,具有重大参考价值。
  本书是作者10年积累的DB2性能调优案例和经验的总结。...

内容简介

本书侧重于介绍db2数据库的性能调优。性能调优是一个系统工程:全面监控分析操作系统、i/o性能、内存、应用及数据库才能快速找到问题根源;深刻理解db2的锁及并发机制、索引原理、数据库参数、优化器原理、sql语句调优等内部机理才能有针对性地快速提出解决问题的方法;快照、db2pd、db2expln及事件监控器等则是必须熟练掌握的工具。这本书正是覆盖了性能调优所需要的全部领域,并提供了大量的性能调优的实际案例。.
  本书系统性地总结了db2数据库性能调整的方法、流程、思路和保持系统良好性能的注意要点。最难得的是作者分享了10年积累的db2性能调优案例和经验总结。...

作者简介

牛新庄博士(数据库维护、优化和架构专家)拥有DB2 V5、V6、V7、V8和V9全部认证,同时他还拥有OCP、AIX、HP-UX、MQ、TSM和WebSphere等20多项国际认证。.
牛新庄博士是IBM官方资深培训讲师(培训DB2、AIX、MQ、Websphere、TSM和CICS),是中信银行、山东农信、青岛海尔等公司的资深技术顾问,曾经帮助工农商建招交六大行、联想集团、青岛海尔、云南红塔、江苏电力公司等国内很多企业做过问题诊断、性能调优和技术支持,具有丰富的理论和实践结合经验。2004和2005年分别在上海北京成立咨询顾问公司,2008年以年薪2.. << 查看详细

目录

第1章 性能调整概述.1
1.1 性能概述2
1.2 性能评估4
1.3 建立性能目标7
1.4 什么时候需要做性能调整8
1.5 性能调整准则9
1.6 性能调整的方法和过程10
1.6.1 性能调整的步骤10
1.6.2 性能调整的限制11
1.6.3 向客户了解情况11
1.6.4 性能调整流程图12
1.7 性能调整总结15
第2章 存储i/o设计19
2.1 存储基本概念20
2.1.1 硬盘20
2.1.2 磁盘阵列技术21
2.1.3 存储的cache22
2.1.4 iops22
2.1.5 网络存储技术23
2.2 存储架构24
.2.2.1 存储i/o处理过程24
2.2.2 应用系统i/o流动图24
2.2.3 raid iops26
2.2.4 raid 10和raid 5的比较28
2.3 存储相关性能调整案例31
2.4 存储i/o设计总结32
第3章 操作系统相关性能问题35
3.1 hp-ux系统性能监控综述35
3.1.1 监控资源对象和标准35
3.1.2 监控工具36
3.1.3 监控系统总体运行状态36
3.1.4 性能状态的判定流程和监控命令38
3.2 aix性能监控综述47
3.2.1 监控工具47
3.2.2 监控系统总体运行状态48
3.2.3 监控cpu性能51
3.2.4 监控内存使用55
3.2.5 监控存储系统状态57
3.2.6 监控网络状态58
3.3 操作系统性能优化60
3.3.1 直接i/o和并发i/o61
3.3.2 异步i/o和同步i/o62
3.3.3 minpout和maxpout65
3.3.4 文件系统和裸设备65
3.3.5 负载均衡及条带化(striping)66
3.4 逻辑卷和lvmo优化72
3.4.1 使用lvmo进行优化73
3.4.2 卷组 pbuf 池73
3.4.3 pbuf设置不合理导致性能问题调整案例74
3.4.4 使用 ioo 进行优化78
3.5 总结83
第4章 数据库物理设计和逻辑设计85
4.1 数据库物理设计85
4.1.1 表空间容器放置原则85
4.1.2 数据库物理设计原则86
4.2 数据库逻辑设计86
4.2.1 缓冲池设计原则86
4.2.2 表空间设计原则91
4.3 使用autoconfig设计数据库99
4.4 其他高级设计技术102
4.4.1 表分区及应用案例102
4.4.2 数据库分区及应用案例104
4.4.3 多维群集(mdc)及应用案例106
4.4.4 物化查询表及应用案例110
4.4.5 mdc、数据库分区、mqt和表分区配合使用114
4.4.6 表压缩及应用案例125
4.4.7 表压缩应用案例二132
4.4.8 xml及应用案例140
4.5 数据库设计总结142
4.5.1 表空间与表设计方面的考虑142
4.5.2 索引设计方面的考虑146
4.5.3 缓冲池方面的考虑147
4.5.4 总结148
第5章 db2性能监控149
5.1 快照监视器案例149
5.1.1 监控动态sql语句149
5.1.2 监控临时表空间使用152
5.2 事件监视器及监控案例153
5.3 利用表函数监控158
5.4 性能管理视图及案例163
5.4.1 监控缓冲池命中率165
5.4.2 监控package cache大小165
5.4.3 监控执行成本最高的sql语句166
5.4.4 监控运行最长的sql语句166
5.4.5 监控sql准备和预编译时间最长的sql语句167
5.4.6 监控执行次数最多的sql语句167
5.4.7 监控排序次数最多的sql语句168
5.4.8 监控lock wait等待时间168
5.4.9 监控lock chain169
5.4.10 监控锁内存使用170
5.4.11 监控锁升级、死锁和锁超时170
5.4.12 监控全表扫描的sql171
5.4.13 检查page cleaners是否足够171
5.4.14 监控prefecher是否足够172
5.4.15 监控数据库内存使用173
5.4.16 监控日志使用情况173
5.4.17 监控占用日志空间最旧的交易174
5.4.18 用sql监控健康指示器174
5.4.19 监控存储路径175
5.4.20 追踪监控历史176
5.5 db2pd176
5.5.1 常用db2pd监控选项和示例177
5.5.2 使用db2pd监控死锁案例191
5.5.3 db2pd使用问题总结196
5.6 db2mtrk及监控案例197
5.7 本章小结200
第6章 数据库配置参数调整201
6.1 数据库配置参数201
6.2 监控和调优实例(dbm)配置参数203
6.2.1 代理程序相关配置参数203
6.2.2 sheapthres206
6.2.3 fcm_num_buffers206
6.2.4 sheapthres_shr207
6.2.5 intra_parallel208
6.2.6 mon_heap_sz208
6.2.7 query_heap_sz208
6.3 监控和调优db配置参数208
6.3.1 缓冲池大小209
6.3.2 日志缓冲区大小(logbufsz)215
6.3.3 应用程序堆大小(appheapsz)216
6.3.4 sortheap和sheapthres217
6.3.5 锁相关配置参数219
6.3.6 活动应用程序的最大数目(maxappls)223
6.3.7 pkgcachesz224
6.3.8 catalogcache_sz224
6.3.9 异步页清除程序的数目(num_iocleaners)224
6.3.10 异步i/o 服务器的数目(num_ioservers)..226
6.3.11 组提交数目(mincommit)226
6.3.12 avg_appls228
6.3.13 chngpgs_thresh(db)228
6.3.14 maxfilop229
6.3.15 logprimary、logsecond和logfilsz229
6.3.16 stmtheap229
6.3.17 dft_queryopt229
6.3.18 util_heap_sz (db)230
6.4 调整db2概要注册变量230
6.4.1 db2_parallel_io230
6.4.2 db2_evaluncommitted232
6.4.3 db2_skipdeleted232
6.4.4 db2_skipinserted232
6.4.5 db2_use_page_container_tag233
6.4.6 db2_selectivity233
6.5 内存自动调优233
6.5.1 内存自动调优示例234
6.5.2 启用内存自动调优及相关参数235
6.6 总结237
第7章 锁和并发239
7.1 锁等待及调整案例239
7.1.1 锁等待问题解决流程和步骤240
7.1.2 捕获引起锁等待的sql242
7.1.3 利用db2pd捕获锁超时244
7.2 锁升级及调整案例248
7.2.1 监控锁升级249
7.2.2 锁升级调整250
7.3 死锁及调整案例252
7.3.1 利用事件监视器监控死锁253
7.3.2 死锁案例255
7.3.3 最小化死锁建议257
7.4 隔离级别与锁257
7.4.1 可重复读(rr—repeatable read)258
7.4.2 读稳定性(rs—read stability)259
7.4.3 游标稳定性(cs—cursor stability)261
7.4.4 未提交读(ur—uncommitted read)263
7.4.5 隔离级别加锁总结265
7.4.6 隔离级别总结269
7.5 最大化并发性271
7.5.1 选择合适的隔离级别271
7.5.2 尽量避免锁等待、锁升级和死锁271
7.5.3 设置合理的注册变量271
7.6 锁相关的性能问题总结280
7.7 锁与应用程序开发282
7.8 本章小结285
第8章 索引设计与优化287
8.1 索引概念287
8.1.1 索引优点287
8.1.2 索引类型289
8.2 索引结构290
8.3 理解索引访问机制293
8.4 索引设计296
8.4.1 创建索引296
8.4.2 创建集群索引297
8.4.3 创建双向索引297
8.4.4 完全索引访问(index access only)299
8.4.5 与创建索引相关的问题299
8.4.6 创建索引示例300
8.5 索引创建原则与示例301
8.5.1 索引与谓词301
8.5.2 根据查询所使用的列建立索引303
8.5.3 根据条件语句中谓词的选择度创建索引304
8.5.4 避免在建有索引的列上使用函数305
8.5.5 在那些需要被排序的列上创建索引306
8.5.6 合理使用include关键词创建索引307
8.5.7 指定索引的排序属性308
8.6 影响索引性能的相关配置309
8.6.1 设置影响索引性能的配置参数309
8.6.2 为索引指定不同的表空间309
8.6.3 确保索引的集群度310
8.6.4 使表和索引统计信息保持最新310
8.6.5 重组索引311
8.7 索引维护311
8.7.1 异步索引清除(aic)312
8.7.2 联机索引整理碎片314
8.8 db2 design advisor(db2advis)315
8.9 索引调整总结319
8.9.1 索引设计总结319
8.9.2 索引性能总结321
第9章 db2优化器325
9.1 db2优化器介绍326
9.2 sql语句执行过程328
9.3 优化器组件和工作原理331
9.3.1 查询重写方法和示例:谓词移动、合并和转换331
9.3.2 查询重写示例:视图合并332
9.3.3 查询器重写示例:消除distinct335
9.3.4 查询器重写示例:隐含谓词336
9.4 扫描方式337
9.4.1 全表扫描337
9.4.2 索引扫描338
9.5 连接方法341
9.5.1 嵌套循环连接343
9.5.2 合并连接344
9.5.3 哈希(hash)连接345
9.5.4 选择最佳连接的策略346
9.6 优化级别347
9.7 如何影响优化器来提高性能348
9.7.1 使db2统计信息保持最新348
9.7.2 构建适当的索引349
9.7.3 配置合理的数据库配置参数350
9.7.4 选择合适的优化级别351
9.7.5 合理的存储i/o设计351
9.7.6 良好的应用程序设计和编码352
9.8 优化器总结352
第10章 统计信息更新与碎片整理353
10.1 统计信息更新353
10.1.1 统计信息的重要性353
10.1.2 统计信息更新示例357
10.1.3 like statistics统计信息更新360
10.1.4 列组统计信息更新361
10.1.5 分布统计信息更新371
10.1.6 统计信息更新策略377
10.2 碎片整理379
10.2.1 碎片产生机制和影响379
10.2.2 确定何时重组表和索引380
10.2.3 执行表、索引检查是否需要做reorg383
10.3 重新绑定程序包385
10.4 本章小结386
第11章 sql语句调优389
11.1 通过监控找出最消耗资源的sql语句389
11.2 通过解释工具分析sql语句执行计划390
11.2.1 解释表391
11.2.2 visual explain(可视化解释)392
11.2.3 db2expln400
11.2.4 db2exfmt403
11.2.5 各种解释工具比较405
11.2.6 如何从解释信息中获取有价值的建议406
11.3 理解sql语句如何工作406
11.3.1 理解谓词类型406
11.3.2 排序和分组410
11.3.3 连接方法412
11.3.4 扫描方式413
11.4 sql调优案例413
11.4.1 用一条语句即可做到时避免使用多条语句413
11.4.2 合理使用not in和not exists414
11.4.3 合理使用子查询减少数据扫描和利用索引417
11.4.4 调整表的连接顺序,减小中间结果集的数据量418
11.4.5 在有偏差数据的情况下使用参数标记时,指定选择性420
11.4.6 sql使用udf代替查询中复杂的部分420
11.4.7 从多个sql语句到一个 sql表达式422
11.4.8 使用sql一次处理一个集合语义423
11.4.9 在无副作用的情况下,请使用sql 函数425
11.4.10 小结426
11.5 提高应用程序性能426
11.5.1 良好的sql编码规则426
11.5.2 提高sql编程性能428
11.5.3 改进游标性能430
11.5.4 根据业务逻辑选择最低粒度的隔离级别431
11.5.5 通过reopt绑定选项来提高性能431
11.5.6 统计信息、碎片整理和重新绑定432
11.5.7 避免不必要的排序433
11.5.8 在c/s环境中利用sql存储过程降低网络开销433
11.5.9 高并发环境下使用连接池433
11.5.10 使用design advisor(db2advis)建议索引434
11.5.11 提高批量删除、插入和更新速度434
第12章 db2调优案例、问题总结和技巧437
12.1 调优案例一:某移动公司存储设计不当和sql引起的i/o瓶颈437
12.2 调优案例二:某银行知识库系统锁等待、锁升级引起性能瓶颈444
12.3 调优案例三:某汽车制造商erp系统通过调整统计信息提高性能453
12.4 调优案例四:某农信社批量代收电费批处理慢调优案例464
12.5 调优学习案例:利用压力测试程序学习db2调优468
后 记501
参考文献...503

商品评论(0条)

暂无评论!

您的浏览历史

loading 内容加载中,请稍后...