db2 性能查看top sql

这篇文章是对以前有篇db2 v9的简化更新,整体仍是以为DB2TOP比较好用直观,不过须要导出SQL时,或自动化脚本时,仍是建议执行SQL。
SYSIBMADM的SCHEMA下有不少帮助下的工具视图,你们有兴趣能够多了解一下。这里只是列举了几个而已。
(注意:如下查询须要采用数据库管理员的权限用户执行)
 
和oracle的top sql对应的是sysibmadm.top_dynamic_sql,如下的视图所在的模式都是sysibmadm
一、APPL_PERFORMANCE (DB2 V9 name APPLICATION_PERFORMANCE) :    标识可能正在执行大型表扫描操做的应用程序:  select AGENT_ID, PERCENT_ROWS_SELECTED from SYSIBMADM.APPL_PERFORMANCE; PERCENT_ROWS_SELECTED 值显示返回给应用程序的行数。 二、LONG_RUNNING_SQL : 标识当前正在执行的运行时间最长的查询:  select * from SYSIBMADM.LONG_RUNNING_SQL; order by ELAPSED_TIME_MIN desc fetch first 5 rows only; 经过使用此视图,她能够肯定这些查询已运行的时间长度以及这些查询的状态。若是某个查询已执行了很长时间而且正在等待锁,她就能够使用对特定代理程序标识执行查询的 LOCKWAITS 或 LOCK_HELD 管理视图来进行进一步调查。LONG_RUNNING_SQL 视图还会指出正在执行的语句并容许她标识可能有问题的 SQL。 三、QUERY_PREP_COST : 对已肯定有问题的查询进行故障诊断。此视图能够指出查询的运行频率以及这些查询中每一个查询的平均执行时间: select NUM_EXECUTIONS, AVERAGE_EXECUTION_TIME_S, PREP_TIME_PERCENT from SYSIBMADM.QUERY_PREP_COST order by NUM_EXECUTIONS desc; 查询时耗用的时间在查询执行时间中所占的百分比。若是编译和优化查询时耗用的时间几乎与查询的执行时间同样长,建议该查询的全部者更改用于该查询的优化类。下降优化类能够使该查询更快地完成优化,从而更快地返回结果。可是,若是某个查询须要至关长的时间来进行准备,但要执行数千次(而没必要再次进行准备),则更改优化类并不能提升查询性能。 四、TOP_DYNAMIC_SQL : 标识执行频率最高、运行时间最长和排序次数最多的动态 SQL 语句。有了此信息,Jessie 在进行 SQL 调整工做时就能够把注意力放在表明某些最大资源使用者的查询上。 select * from SYSIBMADM.TOP_DYNAMIC_SQL order by NUM_EXECUTIONS desc fetch first 5 rows only; select * from TOP_DYNAMIC_SQL order by AVERAGE_EXECUTION_TIME_S  desc fetch first 5 rows only; select STMT_SORTS, SORTS_PER_EXECUTION, substr(STMT_TEXT,1,60) as STMT_TEXT from TOP_DYNAMIC_SQL order by STMT_SORTS desc fetch first 5 rows only;
相关文章
相关标签/搜索