根据不同的指标获取TOP 10 SQL

select sql.*,
       (select SQL_TEXT
          from dba_hist_sqltext t
         where t.sql_id = sql.sql_id
           and rownum = 1) SQLTEXT
  from (select a.*,
               RANK() over(order by els desc) as r_els,
               RANK() over(order by phy desc) as r_phy,
               RANK() over(order by get desc) as r_get,
               RANK() over(order by exe desc) as r_exe,
               RANK() over(order by CPU desc) as r_cpu
          from (
                select sql_id,
                        sum(executions_delta) exe,
                        round(sum(elapsed_time_delta) / 1e6, 2) els,
                        round(sum(cpu_time_delta) / 1e6, 2) cpu,
                        round(sum(iowait_delta) / 1e6, 2) iow,
                        sum(buffer_gets_delta) get,
                        sum(disk_reads_delta) phy,
                        sum(rows_processed_delta) RWO,
                        round(sum(elapsed_time_delta) /
                              greatest(sum(executions_delta), 1) / 1e6,
                              4) elsp,
                        round(sum(cpu_time_delta) /
                              greatest(sum(executions_delta), 1) / 1e6,
                              4) cpup,
                        round(sum(iowait_delta) /
                              greatest(sum(executions_delta), 1) / 1e6,
                              4) iowp,
                        round(sum(buffer_gets_delta) /
                              greatest(sum(executions_delta), 1),
                              2) getp,
                        round(sum(disk_reads_delta) /
                              greatest(sum(executions_delta), 1),
                              2) phyp,
                        round(sum(rows_processed_delta) /
                              greatest(sum(executions_delta), 1),
                              2) ROWP
                  from dba_hist_sqlstat s
                --where snap_id between ... and ...
                 group by sql_id) a
        ) SQL
 where r_els <= 10
    or r_phy <= 10
    or r_cpu <= 10
 order by els desc

posted @   钱若梨花落  阅读(669)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示