之前写过一个查询执行查看运行时间最长的应用,查询到的是,应用程序,例如我的程序,查到的是IIS,没什么用。
select elapsed_time_min,appl_status,agent_id from sysibmadm.long_running_sql order by elapsed_time_min desc fetch first 5 rows only
查询执行时间最长的SQL,要使用快照。
首先执行下列语句,打开先关的开关:
db2 UPDATE MONITOR SWITCHES USING lock on
db2 UPDATE MONITOR SWITCHES USING sort on
db2 UPDATE MONITOR SWITCHES USING Bufferpool on
db2 UPDATE MONITOR SWITCHES USING table on
db2 UPDATE MONITOR SWITCHES USING statement on
db2 UPDATE MONITOR SWITCHES USING uow on
然后执行
db2 GET SNAPSHOT FOR DYNAMIC SQL ON easdb >>d:\DYNAMICSQL.txt
在输出的文件中搜索:总计执行时间(秒.毫秒)
例如我使用notepad++,搜索的结果,然后找到对应的SQL,看看是否可以修改代码,或者修改SQL
![](https://box.kancloud.cn/2016-02-23_56cbb4ca41367.jpg)