db2 优化基础 查询运行时间最长的SQL
之前写过一个查询运行查看运行时间最长的应用。查询到的是,应用程序。比如我的程序。查到的是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