数据架构师:DB2 数据仓库性能,第 2 部分:寻找有问题的 SQL 查询并进行调优
2009-11-16 00:00:00 来源:WEB开发网首要问题:选择目标
在进行查询调优时,不但要追求良好的性能,还要确保做正确的事。您很可能希望先调整长时间运行的查询,但是这些查询不一定是 “问题” 查询。如果一个查询会频繁地执行,而且用户期望包含它的过程在一两秒内完成,那么即使它的运行时间只有 10 秒,也会引起用户的抱怨。
对于判断什么地方最需要调优,最好的依据往往是 “用户的声音”。如果用户没有什么抱怨,那么可以花时间调整那些运行时间(和/或 CPU 时间)长和执行频率高的查询。
市场上有一些工具可以帮助选择查询调优目标(IBM 提供的产品包括 DB2 Query Monitor for z/OS 和 DB2 Performance Expert for Linux, UNIX, and Windows)。但是,可以从 DB2 本身获得有助于选择查询调优目标的信息。大型机管理员应该使用 EXPLAIN 语句的 STMTCACHE ALL 选项(这是在 DB2 for z/OS V9 中引入的,对于 V8 通过 APAR PQ88073 补丁提供)。对于动态语句缓存中的每个 SQL 语句,EXPLAIN STMTCACHE ALL 会在 DSN_STATEMENT_CACHE_TABLE 中插入一行。在 DSN_STATEMENT_CACHE_TABLE 中的 40 多列中,记录了查询的语句文本、累积的流逝时间、累积的 CPU 时间和执行次数等信息。这些信息应该有助于寻找可能产生良好的性能调优效果的语句。
在 Linux、UNIX 和 Windows (LUW) 上,DB2 管理员可以使用 DB2 9 引入的管理视图(这些视图的高层限定词是 SYSIBMADM;可以通过 DB2 9 for LUW System Monitoring Guide and Reference 了解这些视图)。其中特别有用的一个视图是 SYSIBMADM.TOP_DYNAMIC_SQL,它包含 STMT_TEXT、AVERAGE_EXECUTION_TIME_S 和 NUM_EXECUTIONS 列。
- ››数据库大型应用解决方案总结
- ››数据结构2--数组
- ››数据源架构模式的活动记录
- ››数据结构C#版线性表(Data Structure)之单链表(Lin...
- ››数据结构C#版线性表(Data Structure)之顺序表(顺序...
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
- ››DB2 XML 编程,第 1 部分: 理解 XML 数据模型
- ››DB2 pureScale 实战
更多精彩
赞助商链接