查询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;