查询oracle sql语句执行最慢和执行最多的语句!

1.查询sql执行最慢的语句

 select * from (select a.sql_text,a.sql_fulltext,a.executions "执行次数",round(a.elapsed_time / 1000000,2) "总执行时间",
 round(a.elapsed_time / 1000000 / a.executions,2) "平均时间",a.command_type,a.parsing_user_id "用户ID",b.username "用户",a.hash_value from
 v$sqlarea a left join all_users b on a.parsing_user_id=b.user_id where a.executions>0 order by (a.ELAPSED_TIME / a.executions) desc) where
 rownum<=50;

2.执行次数最多的sql语句

 select * from (select a.sql_text,a.executions "执行次数",a.parsing_user_id "用户",rank() over(order by a.executions desc) exec_rank
 from v$sql a left join all_users b on a.PARSING_USER_ID=b.user_id) c where exec_rank<=100; 

 

posted @ 2018-08-20 16:08  小年青。  阅读(2306)  评论(0编辑  收藏  举报