ITPub博客

首页 > 数据库 > Oracle > 查询执行最耗时的sql语句

查询执行最耗时的sql语句

原创 Oracle 作者:meloooo 时间:2016-12-21 16:48:48 0 删除 编辑
查询执行最耗时的sql语句, m.max_elapsed>=n,查询最耗时的前n条语句。
SELECT v.SQL_TEXT,m.* FROM (select distinct snap_id,
                sql_id,
                EXECUTIONS_DELTA,
                trunc(max(ELAPSED_TIME_DELTA)
                      OVER(PARTITION BY snap_id, sql_id) / 1000000,
                      0) max_elapsed,
                trunc((max(ELAPSED_TIME_DELTA)
                       OVER(PARTITION BY snap_id, sql_id)) /
                      (SUM(ELAPSED_TIME_DELTA) OVER(PARTITION BY snap_id)),
                      2) * 100 per_total
  from dba_hist_sqlstat t WHERE T.snap_id IN (SELECT MAX(snap_id) FROM dba_hist_sqlstat) ) M,v$sql v 
  where m.sql_id=v.sql_id and m.max_elapsed>=1
  找出来具体的sql语句。
  select  hash_value  from v$sqlarea  where  sql_id='d4cg0g0wuxxvw'
  select *  from v$sqltext  where hash_value='967767932' order by piece;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28496755/viewspace-2131145/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2015-04-11

  • 博文量
    3
  • 访问量
    8835