有效使用 Optim Query Tuner 工具进行 SQL 查询语句的优化
2009-12-07 00:00:00 来源:WEB开发网查看原图(大图)
由调优后的 APG 图 11 可以看出,对两个表的访问都采用的是 matching 的索引扫描方式。因此在 OQT 的帮助和提示下一步步地发现问题并解决了问题,达到了我们初始期望的目标。
案例 2:
此案例涉及表上索引的设计和更改。用户工作环境上安装了用于 Windows 的 DB2 V9.5.1,发现有以下查询性能较差:
SELECT T1.CASEID,T1.PACKAGENAME,
T1.CLASSNAME,T1.METHODNAME,T1.BEGINTIME,T1.STATUS,
T1.MEMORY0,T1.MEMORY1,T1.MEMORY2,T1.TOTALTIME,
T1.DYNAMICSQL_TIME,T1.STATICSQL_TIME
FROM (SELECT PACKAGENAME,CLASSNAME,METHODNAME, MAX(BEGINTIME) AS MAX_BEGINTIME
FROM PERFORMANCE_TESTCASES_TABLE
WHERE PACKAGENAME LIKE ? AND CLASSNAME LIKE ? AND METHODNAME LIKE ?
GROUP BY PACKAGENAME,CLASSNAME,METHODNAME) AS T2, PERFORMANCE_TESTCASES_TABLE AS T1
WHERE T1.PACKAGENAME = T2.PACKAGENAME AND T1.CLASSNAME = T2.CLASSNAME
AND T1.METHODNAME = T2.METHODNAME AND T1.BEGINTIME = T2.MAX_BEGINTIME
FETCH FIRST 1000 ROW ONLY
首先,我们可以借助 Query Format and Annotation 功能模块对输入 SQL 进行格式重组和注解分析,如图 12。由于其中发现表上和某些列上的基数(以 CARD 表示的)是缺失的,这就表明,统计数据信息的收集将必不可少。而我们运行“Tune Query”时得到的推荐建议中也将 Statistics Advisor 给出的建议设为了最高优先级。
更多精彩
赞助商链接