有效使用 Optim Query Tuner 工具进行 SQL 查询语句的优化
2009-12-07 00:00:00 来源:WEB开发网它具备诸如以下性能优势:
通过使开发人员在开发阶段调优 SQL 以降低开销和风险。
在广为熟悉的 Eclipse 开发环境下操作,与 Optim Development Studio 实现无缝集成。
通过提供专家建议和推荐以加速查询优化分析。
鼓励开发人员(developers)与数据库管理员(DBAs)之间的协作。
OQT 的功能十分强大,能提供关于数据库访问路径的图形化和表格化信息,利用 catalog 目录统计信息和代价估计信息对 SQL 文本进行格式重组和注解分析,对 Query 和执行计划进行优化的建议(Query Advisor and Access Path Advisor),对表和索引等的统计信息进行收集和更新的建议(Statistics Advisor),对创建合理索引的建议(Index Advisor),给出 query 的相关信息如表、索引、谓词相关的报告。
功能模块如此包罗万象,参考信息如此丰富,也会使数据库应用经验不足的用户眼花缭乱,无所是从。如何安排其优先级,如何在尽量降低系统整体开销的前提下对查询做出高效的优化,显著提高数据库访问效率,是众多数据库开发人员和 DBA 们十分关注的问题。
用 OQT 进行调优
这里针对两个有代表性的查询问题进行性能调优的例子,展示如何有效利用 OQT 工具以达到快速发现问题症结和高效解决问题的目的。
案例 1:
在一个用户 DB2 V9 for z/OS 的真实数据库应用之上,他们通过一个查询监控工具发现,如下的查询语句存在性能上的问题。此查询访问 DB2 catalog 表存取数据需要的时间不可接受,已严重影响了应用的效率,因此用户希望以最小的系统更改代价来改进设计。
SELECT HEX(SUBSTR(T1.STMT, 48, 1)) AS HEXMRIC,
CAST(SUBSTR(T1.STMT, 48, 1) AS CHAR(1) CCSID EBCDIC FOR SBCS DATA) AS DBRMMRIC,
HEX (SUBSTR(T1.STMT, 47, 1)) AS HEXPDRM,
CAST(SUBSTR(T1.STMT, 47, 1) AS CHAR (1) CCSID EBCDIC FOR SBCS DATA) AS DBRMPDRM
FROM SYSIBM.SYSPACKSTMT T1, SYSIBM.SYSPACKAGE T2
WHERE T1.COLLID = :H :H AND
T1.NAME = :H :H AND
T1.VERSION = :H :H AND
T1.COLLID = T2.COLLID AND
T1.NAME = T2.NAME AND
T1.VERSION = T2.VERSION AND
T2.TYPE = ' ' AND
T1.SECTNO = 0 AND
T1.SEQNO = 0 AND
T1.STMTNO = 0
更多精彩
赞助商链接