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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM