读书人

DB2数据库性能整合和优化(第2版)

发布时间: 2013-10-08 16:22:03 作者: rapoo

DB2数据库性能调整和优化(第2版)
《DB2数据库性能调整和优化(第2版)》基本信息作者: 牛新庄出版社:清华大学出版社ISBN:9787302325260上架时间:2013-7-3出版日期:2013 年7月开本:16开页码:528版次:2-1所属分类:计算机 > 数据库 > DB2DB2数据库性能整合和优化(第2版)更多关于 》》》《DB2数据库性能调整和优化(第2版) 》内容简介计算机书籍  《db2数据库性能调整和优化(第2版)》侧重于介绍db2数据库的性能调优。性能调优是一个系统工程:全面监控分析操作系统、i/o性能、内存、应用及数据库才能快速找到问题根源;深刻理解db2的锁及并发机制、索引原理、数据库参数、优化器原理、sql语句调优等内部机理才能针对性地快速提出解决问题的方法;快照、db2pd、db2expln及事件监控器等则是必须熟练掌握的工具。这本书覆盖了进行db2数据库性能调优所需的全部知识和工具,并提供了大量的性能调优的实际案例。   《db2数据库性能调整和优化(第2版)》系统性地总结了db2数据库性能调整的方法、流程、思路和保持系统良好性能的注意要点。最难得的是作者分享了其10年积累的db2性能调优案例和经验总结。目录《db2数据库性能调整和优化(第2版)》第1章 性能调整概述11.1 性能概述21.2 性能评估41.3 建立性能目标71.4 什么时候需要做性能调整81.5 性能调整准则91.6 性能调整的方法和过程101.6.1 性能调整的步骤101.6.2 性能调整的限制111.6.3 向客户了解情况111.6.4 性能调整流程图121.7 性能模型151.7.1 输入171.7.2 处理171.7.3 输出231.8 本章小结24第2章 操作系统及存储的性能调优272.1 aix性能监控综述292.1.1 监控工具29.2.1.2 监控系统总体运行状态302.1.3 监控cpu性能342.1.4 监控内存使用382.1.5 监控存储系统状态402.1.6 监控网络状态422.2 操作系统性能优化432.2.1 直接i/o和并发i/o442.2.2 异步i/o和同步i/o452.2.3 minpout和maxpout472.2.4 文件系统和裸设备472.2.5 负载均衡及条带化(striping)482.3 逻辑卷和lvmo优化532.3.1 使用lvmo进行优化542.3.2 卷组pbuf池552.3.3 pbuf设置不合理导致性能问题调整案例562.3.4 使用ioo进行优化602.4 操作系统性能调整总结652.5 存储i/o设计652.6 存储基本概念652.6.1 硬盘652.6.2 磁盘阵列技术672.6.3 存储的cache672.6.4 网络存储技术682.7 存储架构692.7.1 存储i/o处理过程692.7.2 raid iops702.7.3 raid 10和raid 5的比较712.8 良好存储规划的目标742.9 良好存储规划的设计原则752.10 存储相关性能调整案例762.11 存储i/o性能调整总结792.12 本章小结80第3章 db2性能监控813.1 快照监视器案例813.1.1 监控动态sql语句813.1.2 监控临时表空间使用843.2 事件监视器及监控案例873.3 利用表函数监控933.4 性能管理视图及案例993.4.1 监控缓冲池命中率1003.4.2 监控package cache大小1013.4.3 监控执行成本最高的sql语句1023.4.4 监控运行时间最长的sql语句1023.4.5 监控sql准备和预编译时间最长的sql语句1033.4.6 监控执行次数最多的sql语句1033.4.7 监控排序次数最多的sql语句1043.4.8 监控锁等待时间1043.4.9 监控lock chain1053.4.10 监控锁内存的使用1083.4.11 监控锁升级、死锁和锁超时1083.4.12 监控全表扫描的sql1093.4.13 检查页清理器是否足够1103.4.14 监控prefecher是否足够1103.4.15 监控数据库内存使用1113.4.16 监控日志使用情况1123.4.17 监控占用日志空间最旧的事务1123.4.18 监控存储路径1133.4.19 追踪监控历史1143.5 db2pd1143.5.1 常用db2pd监控选项和示例1153.5.2 使用db2pd监控死锁案例1273.5.3 db2pd使用问题总结1323.6 内存监控1343.6.1 db2pd 内存监控1343.6.2 db2mtrk 内存监控1383.7 本章小结140第4章 db2配置参数调整1414.1 初识db2配置参数1414.2 监控和调优实例级(dbm)配置参数1434.2.1 代理程序相关配置参数1434.2.2 sheapthres1464.2.3 fcm_num_buffers1464.2.4 sheapthres_shr1474.2.5 intra_parallel1474.2.6 mon_heap_sz1484.2.7 query_heap_sz1484.3 监控和调优数据库级配置参数1484.3.1 缓冲池大小1494.3.2 日志缓冲区大小(logbufsz)1554.3.3 应用程序堆大小(applheapsz)1564.3.4 sortheap和sheapthres_shr1574.3.5 锁相关配置参数1594.3.6 活动应用程序的最大数目(maxappls)1634.3.7 pckcachesz1634.3.8 catalogcache_sz1644.3.9 异步页清除程序的数目(num_iocleaners)1644.3.10 异步i/o 服务器的数目(num_ioservers)1664.3.11 组提交数目(mincommit)1664.3.12 avg_appls1684.3.13 chngpgs_thresh(db)1684.3.14 maxfilop1694.3.15 logprimary、logsecond和logfilsz1694.3.16 stmtheap1704.3.17 dft_queryopt1704.3.18 util_heap_sz (db)1704.4 调整db2概要注册变量1704.4.1 db2_parallel_io1714.4.2 db2_evaluncommitted1734.4.3 db2_skipdeleted1734.4.4 db2_skipinserted1734.4.5 db2_use_page_container_tag1734.4.6 db2_selectivity1734.4.7 db2_logger_non_ buffered_io1744.5 内存自动调优1744.5.1 内存自动调优示例1754.5.2 启用内存自动调优及相关参数1764.5.3 内存配置参数的配置原则1784.6 本章小结179第5章 高级锁与优化1815.1 隔离级别与锁1815.1.1 可重复读(rr—repeatable read)1825.1.2 读稳定性(rs—read stability)1845.1.3 游标稳定性(cs—cursor stability)1865.1.4 当前提交(currently committed)1885.1.5 未提交读(ur—uncommitted read)1905.1.6 隔离级别总结1935.2 加锁总结1955.2.1 如何获取锁1955.2.2 意图锁和非意图锁1965.2.3 读锁和写锁1975.2.4 lrb(lock resource block)1975.2.5 use and keep locks1985.2.6 索引类型和下一键锁1995.2.7 扫描方式与加锁2015.3 乐观锁2045.3.1 悲观锁和乐观锁2045.3.2 db2 v9.5中的乐观锁2055.3.3 乐观锁应用案例2125.4 内部锁2215.4.1 内部方案锁(internal plan lock)2215.4.2 内部v锁(internal variation lock)2225.4.3 内部s锁2235.4.4 内部c锁2245.4.5 其他内部锁2255.5 锁等待及调整案例2285.5.1 锁等待问题解决流程和步骤2285.5.2 捕获引起锁等待的sql语句2305.5.3 利用db2pd捕获锁超时2335.5.4 利用事件监视器捕获锁超时2365.6 锁升级及调整案例2385.6.1 监控锁升级2395.6.2 锁升级调整2395.7 死锁及调整案例2415.7.1 利用事件监视器监控死锁2425.7.2 死锁案例2435.7.3 最小化死锁建议2465.8 最大化并发性2465.8.1 选择合适的隔离级别2465.8.2 尽量避免锁等待、锁升级和死锁2465.8.3 设置合理的注册表变量2475.9 锁相关的性能问题总结2555.10 锁与应用程序开发2565.11 本章小结259第6章 索引设计与优化2616.1 索引概念2616.1.1 索引优点2616.1.2 索引类型2636.2 索引结构2636.3 理解索引访问机制2666.4 索引设计2696.4.1 创建索引2696.4.2 创建集群索引2706.4.3 创建双向索引2716.4.4 完全索引访问2726.4.5 与创建索引相关的问题2736.4.6 创建索引示例2736.5 索引创建原则与示例2746.5.1 索引与谓词2746.5.2 根据查询使用的列建立索引2766.5.3 根据条件语句中谓词的选择度创建索引2776.5.4 避免在建有索引的列上使用函数2786.5.5 在那些需要被排序的列上创建索引2786.5.6 合理使用include关键词创建索引2806.5.7 指定索引的排序属性2816.6 影响索引性能的相关配置2826.6.1 设置影响索引性能的配置参数2826.6.2 为索引指定不同的表空间2826.6.3 确保索引的集群度2836.6.4 使表和索引统计信息保持最新2836.6.5 重组索引2836.7 索引维护2846.7.1 异步索引清除(aic)2856.7.2 联机索引整理碎片2876.7.3 查找使用率低下的索引2876.7.4 索引压缩2896.8 db2 design advisor(db2advis)2896.9 本章小结293第7章 db2优化器2997.1 db2优化器介绍3007.2 sql语句执行过程3027.3 优化器组件和工作原理3047.3.1 查询重写示例:谓词移动、合并和转换3057.3.2 优化器成本评估3107.3.3 本地谓词基数(cardinality)估计3117.3.4 连接基数(cardinality)估计3137.3.5 分布统计信息3177.3.6 列组统计信息对基数的影响3217.4 扫描方式3307.4.1 全表扫描3317.4.2 索引扫描3317.4.3 rid scan3347.5 连接方法3357.5.1 嵌套循环连接3367.5.2 合并连接3387.5.3 哈希连接3397.5.4 选择最佳连接的策略3407.6 优化级别3407.6.1 优化级别概述3417.6.2 选择优化级别3447.6.3 设置优化级别3457.7 基于规则的优化3477.7.1 优化器概要文件概述3477.7.2 启用优化概要文件3497.7.3 优化概要文件使用示例3507.8 如何影响优化器来提高性能3577.8.1 使db2统计信息保持最新3577.8.2 构建适当的索引3577.8.3 配置合理的数据库配置参数3587.8.4 选择合适的优化级别3597.8.5 合理的存储i/o设计3597.8.6 良好的应用程序设计和编码3607.9 本章小结363第8章 统计信息更新与碎片整理3658.1 统计信息更新3658.1.1 统计信息的重要性3658.1.2 统计信息更新示例3698.1.3 like statistics统计信息更新3728.1.4 列组统计信息更新3748.1.5 分布统计信息更新3838.1.6 统计信息更新策略3898.2 自动统计信息更新3918.2.1 自动runstats的基本概念3918.2.2 如何打开auto runstats3938.2.3 如何监控auto runstats3958.2.4 db2 v10新特性——自动收集统计视图的统计信息3968.3 碎片整理3978.3.1 碎片产生机制和影响3978.3.2 确定何时重组表和索引3988.3.3 执行表、索引检查是否需要做reorg4018.3.4 reorg的用法和使用策略4028.4 重新绑定程序包4058.5 本章小结407第9章 sql语句调优4099.1 通过监控找出最消耗资源的sql语句4099.2 通过解释工具分析sql语句执行计划4109.2.1 解释表4119.2.2 visual explain(可视化解释)4129.2.3 db2expln4199.2.4 db2exfmt4229.2.5 各种解释工具的比较4249.2.6 如何从解释信息中获取有价值的建议4249.3 理解sql语句如何工作4259.3.1 理解谓词类型4259.3.2 排序和分组4289.3.3 连接方法4309.3.4 扫描方式4319.4 sql调优案例4319.4.1 尽量使用单条语句完成逻辑4319.4.2 合理使用not in和not exists4329.4.3 利用子查询进行优化4349.4.4 调整表连接顺序使join最优4369.4.5 数据非均匀分布时手工指定选择性4379.4.6 使用udf代替查询中的复杂部分4389.4.7 合并多条sql语句到单个sql表达式4399.4.8 使用sql一次处理一个集合语义4409.4.9 在无副作用的情况下使用sql函数4429.4.10 小结4439.5 提高应用程序性能4439.5.1 良好的sql编码规则4439.5.2 提高sql编程性能4459.5.3 改进游标性能4479.5.4 根据业务逻辑选择最低粒度的隔离级别4489.5.5 通过reopt绑定选项来提高性能4489.5.6 统计信息、碎片整理和重新绑定4499.5.7 避免不必要的排序4499.5.8 在c/s环境中利用sql存储过程降低网络开销4509.5.9 在高并发环境下使用连接池4509.5.10 使用design advisor(db2advis)建议索引4509.5.11 提高批量删除、插入和更新速度4519.5.12 提高插入性能4519.5.13 高效的select语句4529.6 高性能sql语句注意事项4539.6.1 避免在搜索条件中使用复杂的表达式4539.6.2 将 optimize for n rows子句与fetch first n rows only子句配合使用4549.6.3 避免使用冗余的谓词4549.6.4 避免使用多个带有distinct关键字的聚集操作4559.6.5 避免连接列之间数据类型不匹配4569.6.6 避免对表达式使用连接谓词4569.6.7 避免在谓词中使用空操作表达式来更改优化器估算4569.6.8 确保查询符合星型模式连接的必需条件4579.6.9 避免使用非等式连接谓词4589.6.10 避免使用不必要的外连接4599.6.11 使用参数标记来缩短动态查询的编译时间4599.6.12 使用约束来提高查询优化程度4609.7 本章小结461第10章 db2调优案例、问题总结和技巧46310.1 调优案例1:某移动公司存储设计不当和sql引起的i/o瓶颈46310.2 调优案例2:某银行知识库系统锁等待、锁升级引起性能瓶颈47010.3 调优案例3:某汽车制造商erp系统通过调整统计信息提高性能47810.4 调优案例4:某农信社批量代收电费批处理慢调优案例48810.5 调优案例5:某银行系统sql执行慢,通过跟踪信息获取调整信息49210.6 调优案例6:某银行系统字段类型定义错误导致sql执行时间变长49510.7 调优学习案例:利用压力测试程序学习db2调优498本图书信息来源:互动出版网

?

读书人网 >其他数据库

热点推荐