oracle 中查看sql执行性能历史语句

oracle中查看sql执行状况,比如执行计划,执行时间等,可以用于sql执行性能监控(当发生sql执行性能降级,可分析执行计划是否变动,执行计划变动可通过计划基线进行固定)
 
select ss.instance_number node,

 

begin_interval_time,

 

sql_id,

 

plan_hash_value,

 

nvl(executions_delta, 0) exe_num, --执行次数

 

trunc(elapsed_time_delta/1000000) exe_time,--执行时间

 

trunc((elapsed_time_delta/decode(nvl(executions_delta, 0), 0, 1, executions_delta))/1000000) avg_exe_time,--平均执行时间

 

buffer_gets_delta lg_read,--逻辑读

 

trunc((buffer_gets_delta/decode(nvl(buffer_gets_delta, 0), 0, 1, executions_delta))) avg_lg_read --平均逻辑读

 

from DBA_HIST_SQLSTAT S, DBA_HIST_SNAPSHOT SS

 

where sql_id ='&sqlid'

 

and ss.snap_id = S.snap_id

 

and ss.instance_number = S.instance_number

 

and executions_delta > 0

 

order by NODE,BEGIN_INTERVAL_TIME desc

 

posted @ 2021-02-09 09:36  踏雪无痕2017  阅读(1259)  评论(0)    收藏  举报