DB2 LUW SQL 调优指南
2010-02-04 00:00:00 来源:WEB开发网-- 打开 SQL 语句的 Monitor
db2 update monitor switches using STATEMENT on
-- 获得 SQL 语句执行的信息
db2 get snapshot for dynamic sql on dbname
db2batch:可以用于一次执行一个或多个 SQL 语句,并记录执行时间。
db2exfmt:DB2 的一种 EXPLAIN 工具。相较于其他的工具(Visual Explain,db2expln),它能提供更多的关于 SQL 查询计划的信息。
关于上述三个工具的使用方法可以查参照参考资源。
SQL 设计的优化
本章着眼于 SQL 语句设计的优化,在保证功能不变的前提下,通过改变 SQL,得到最优的逻辑优化结果,为让 DB2 生成最优的查询执行计划创造条件。对有性能问题的 SQL 首先要查看 DB2 中其内部表示形式中是否已经最优。db2exfmt 的输出 Optimized Statement 就是 SQL 的内部表示形式。这个内部 SQL 是经过 DB2 的查询重写,也就是逻辑优化后形成的。可以从下面几个方面从中找出 SQL 的设计问题:
1. 选择谓词
检查选择谓词是否足够简洁。选择谓词要尽量采用简单的形式,如:列名 = 常数表达式,这样便于匹配索引。要避免使用类型转换,如果有类型转换应该显式的写出转换函数并放在表达式的常数一边,例如 :
cast( colum_char10 as int) = 100
应该写成 :
colum_char10 = cast( 100 as char(10))
不要使用一些不必要的谓词。不必要的谓词不但增加了系统的计算代价,而且会使对中间结果的估算不准确,导致较差的查询计划。
另外,使用参数标记(Parameter Marker)时,尽量利用 Cast 函数表明它的类型,以免产生不必要的类型转换。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接