《DB2 SQL性能调优秘笈》
基本信息
作者: (美)Tony Andrews
译者: 陈勇 杨健康
丛书名: 华章程序员书库
出版社:机械工业出版社
ISBN:9787111425021
上架时间:2013-6-4
出版日期:2013 年6月
开本:16开
页码:86
版次:1-1
所属分类:计算机
更多关于 》》》《DB2 SQL性能调优秘笈》
内容简介
计算机书籍
《db2 sql性能调优秘笈》是一本不可多得的db2数据库性能调优秘笈,由拥有20余年db2工作经验的资深数据库专家撰写,amazon全五星评价畅销书。本书不仅详尽阐述了100余条sql语句优化的技巧和最佳实践、编写高性能sql语句的标准和原则,以及db2数据库性能优化的“15步法”,而且还包含大量案例,为解决各种复杂的db2性能问题提供了解决方案。
《db2 sql性能调优秘笈》共7章:第1章总结了116条优化sql语句的技巧和最佳实践;第2章讲解了 sql语句中提示的编写方法和技巧;第3章讲解了编写高质量sql语句需要遵守的sql标准和原则;第4章介绍了sql程序走查;第5章用2个实例介绍了如何检查存在性;第6章介绍了runstats,用来得到一些统计信息;第7章讲解了db2性能优化的“15步调优法”,被誉为db2性能调优领域的无价之宝,适用于各种情况下的性能调优问题。本书最后还有2个附录,分别介绍了谓词的重写示例和db2 sql中的术语。
目录
《db2 sql性能调优秘笈》
译者序
前言
第1章 sql优化技巧宝典100+
1. 去除在谓词列上编写的任何标量函数
2. 去除在谓词列上编写的任何数学运算
3. sql语句的select部分只写必要的列
4. 尽可能不用distinct
5. 尽量将in子查询重写为exists子查询
6.确保宿主变量定义为与列数据类型匹配
7. 由于优化工具处理"或"逻辑可能有问题,所以尽量采用其他方式重写
8. 确保所处理的表中数据分布和其他统计信息正确并反映当前状况
9. 尽可能用union all取代union
10. 考虑使用硬编码还是使用宿主变量
11. 尽可能减少db2的sql请求
12. 尽量将区间谓词重写为between谓词
13. 考虑使用全局临时表
14. 优先使用stage 1谓词而不是stage 2谓词
15. 记住(某些)谓词的顺序很重要
16. 多个子查询排序
.17. 索引关联子查询
18. 了解db2 explain工具
19. 使用工具进行监控
20. 采用提交和重启策略
21. 实现优良的索引设计
22. 避免与非列表达式不一致
23. 所有筛选逻辑放在应用代码之外
24. 确保涉及min和max的子查询谓词要处理可能返回null的情况
25. 如果查询只选择数据,一定要把游标处理写为for fetch only(只获取)或for read only(只读)
26. 避免只是为了帮助确定代码逻辑应当执行更新还是插入而从表中选择一行
27. 避免只是为了得到更新值而从表中选择一行
28. 利用动态sql语句缓存
29. 避免使用select *
30. 当心可以为null的列,还要当心sql语句可能从数据库管理器返回null
31. 尽量减少执行打开和关闭游标的次数
32. sql中要避免非逻辑
33. 使用关联id来保证更好的可读性
34. 保证表和索引文件合法而且有组织
35. 充分利用update where current of cursor和delete where current of cursor
36. 使用游标时,利用多行获取、多行更新和多行插入来使用rowset定位和获取
37. 了解锁定隔离级别
38. 了解null处理
39. 编程时要考虑性能
40.让sql来处理
41.使用lock table
42. 考虑oltp前端处理
43. 考虑使用动态可滚动游标
44. 利用物化查询表改善响应时间(只适用动态sql)
45. 结合select的insert
46. 充分利用多行获取
47. 充分利用多行插入
48. 充分利用多行更新
49. 充分利用多行删除
50.在select子句中使用标量全选
51. 在动态sql中充分利用reopt once和reopt auto,在静态sql中充分利用reopt vars和reopt always
52. 标识易失表
53. 使用on commit drop改进
54. 使用多个distinct
55. 充分利用反向索引扫描
56. 当心like语句
57. 正确地设置聚簇索引
58. 必要时使用group by表达式
59. 当心表空间扫描
60. 不要问你已经知道的信息
61. 注意查询中的表顺序
62. 使用左外联接而不是右外联接
63. 检查不存在的行
64. 使用存储过程
65. 不要只是为了排序而选择某一列
66. 尽可能限制结果集
67. 批量删除时充分利用db2 v8的改进discard功能
68. 充分利用db2 load工具完成批量插入
69. 注意视图、嵌套表表达式和公共表表达式的物化
70. 考虑压缩数据
71. 考虑并行性
72. 让stddev、stddev_samp、var和var_samp函数远离其他函数
73. 考虑使用rowid数据类型(v8)或rid函数(v9)直接访问行
74. 用真实统计和一定的数据测试查询以反映性能问题
75. 在where子句中指定前导索引列
76. 尽可能使用where而不是having完成筛选
77. 尽可能考虑index only处理
78. db2 v9中表达式上的索引
79. 考虑db2 v9 truncate语句
80. 在子查询中使用db2 v9 fetch first和order by
81. 利用db2 v9乐观锁定
82. 使用db2 v9 merge语句
83. 了解db2 nofor预编译选项
84. 考虑select into中使用order by
85. 尽量编写布尔项谓词
86. 编写传递闭包
87. 避免用order by排序
88. 尽可能使用联接而不是子查询
89. 当心case逻辑
90. 在order by子句中充分利用函数
91. 了解你的db2版本
92. 了解日期运算
93. 了解大容量插入选择
94. 了解skip locked data(v9)避免锁定
95. 对输入流排序
96. 如果需要真正的唯一性,可以使用v8 generate_unique函数
97. 了解声明临时表的新选项
98. 执行get diagnostics时需要注意
99. 适当地对in列表排序
100. 结合select的update和delete(v9)
101. 只在必要时执行sql语句
102. 充分利用内存中的表
103. 避开通用型sql语句
104. 避免不必要的排序
105. 了解表达式和列函数
106. 结合使用谓词时要注意
107. 为搜索查询增加冗余谓词
108. 充分利用改进的动态缓存(v10)
109. 尝试当前提交来避免锁(v10)
110. 尝试使用系统时态表获取历史数据(v10)
111. 尝试使用业务时态表获取历史数据(v10)
112. 了解分级函数 (v10)
113. 充分利用扩展指示符(v10)
114. 得到更大的时间戳精度(v10)
115. 尝试index includes(v10)
116. 使用with return to client(v10)
第2章 db2 sql提示
1. 在sql语句的最后使用optimize for 1 row语句
2. 为sql查询增加a.pkey = a.pkey谓词,这里pkey等于表的主键列
3. 更换索引选择
4. 改变表处理顺序
5. 使用分布式动态sql
第3章 sql标准和原则
面向cobol开发人员
面向所有sql开发人员
第4章 sql程序走查
第5章 检查存在性
例1
例2
第6章 runstats
第7章 查询初始调优步骤
附录a 谓词重写示例
附录b db2 sql术语
相关推荐
资源名称:DB2 SQL性能调优秘笈资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
《DB2 SQL性能调优秘笈》是一本深入探讨如何优化DB2数据库系统中SQL查询性能的专业书籍。作者Tony Andrews是DB2领域的专家,他在这本书中分享了丰富的经验和实用技巧,帮助读者解决在实际工作中遇到的性能瓶颈问题。...
《DB2 SQL性能调优秘笈》是一本专注于DB2数据库管理系统中SQL查询优化的专业书籍,作者是(美)Tony Andrews。这本书对于DB2数据库管理员、数据库开发人员以及对数据库性能有深度需求的IT专业人士来说,是极具价值的...
### DB2性能调优知识点详解 #### 一、概述 **DB2性能调优**是IBM为提升其数据库管理系统(DBMS)性能而提供的一系列指南和技术。这些技术旨在帮助DBA(数据库管理员)和开发人员识别并解决影响数据库运行效率的问题...
DB2 性能调优入门 了解DB2日常监控的过程 熟悉DB2常用的监控工具 能够熟练使用snapshot工具 能够熟练使用event monitor工具 能够熟练使用db2pd工具 能够使用SQL访问监控结果 能够熟练使用recovery expert工具
【DB2数据库性能调优】 在数据库管理领域,性能优化是一项关键任务,特别是对于像IBM DB2 Universal Database (UDB)这样的大型企业级数据库系统。本文档深入探讨了如何使用Java示例程序PERFORMER来监控和优化DB2 ...
DB2查询性能调优是一个系统性工程,涉及到SQL语句优化、数据库设计、硬件资源配置等多个层面。通过对上述策略的综合运用,可以显著提升DB2的查询性能,为用户提供更快的响应速度和更好的用户体验。然而,每个组织的...
2. 使用EXPLAIN分析查询计划:理解DB2如何执行SQL语句,识别潜在的性能瓶颈,如排序、临时表和表扫描。 三、索引策略 1. 选择合适的索引类型:B-tree索引适用于等值查询,位图索引适合于多对多关系,空间索引处理...
【DB2性能调优入门——IBM专家张原】 在数据库管理领域,DB2作为IBM公司的一款强大关系型数据库管理系统,其性能调优是一项至关重要的任务。性能调优可以帮助提升数据库的响应速度,优化资源利用率,确保系统稳定...
需要这本书的都知道这本书的价值 这本书是高清扫描版,不是之前网上出现过的照片版
本篇将深入探讨DB2性能调优的几个核心方面,包括DB2优化器、SQL编码策略与指南、DB2目录、过滤因子与谓词以及运行统计和重组工具。 1. **DB2优化器** DB2优化器是DB2数据库管理系统中的关键组件,负责解析SQL语句...
DB2数据库性能调整和优化(第2版)侧重于介绍DB2数据库的性能调优。性能调优是一个系统工程:全面监控分析操作系统、I/O性能、内存、应用及数据库才能快速找到问题根源;深刻理解DB2的锁及并发机制、索引原理、数据库...
DB2性能调优 The DB2 Optimizer SQL Coding Strategies and Guidelines DB2 Catalog Filter Factors for Predicates Runstats and Reorg Utilities
【IBM DB2 V9 性能调优】是数据库管理员和IT专业人员关注的重要主题,尤其是在大型企业中,高效的数据管理对于业务运行至关重要。IBM DB2 V9 是一个功能强大的关系型数据库管理系统,其性能优化涉及到多个层面,包括...
《DB2性能调优之SQL执行监控》 在数据库管理领域,DB2作为一款强大的关系型数据库管理系统,其性能调优是一项至关重要的任务。本文将深入探讨如何通过监控SQL执行来提升DB2的性能,帮助数据库管理员更好地理解和...
DB2性能调优是数据库管理员优化数据库系统性能的关键技能,尤其对于中级DB2用户来说,理解性能原理至关重要。本入门教程将围绕三个核心要素——内存、I/O和CPU,介绍DB2性能调优的基础知识。 首先,我们来看DB2性能...
在实际操作中,DB2的性能调优是确保系统高效运行的关键步骤。针对SQL执行慢的问题,本资料集合了DB2存储过程调优的方法和实例,旨在提供解决策略。 首先,我们要了解REORG 和 REORGCHK以及RUNSTATS这三种DB2命令,...
DB2性能调优是数据库管理员优化数据库系统性能的关键任务,对于具有DB2基础的人员来说,深入理解并掌握这一主题至关重要。本篇内容主要聚焦在DB2的性能调优工具,帮助用户熟悉并熟练运用这些工具来提升DB2的运行效率...