oracle查看执行最慢与查询次数最多的sql语句
生活随笔
收集整理的這篇文章主要介紹了
oracle查看执行最慢与查询次数最多的sql语句
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
在ORACLE數據庫應用調優中,一個SQL的執行次數/頻率也是常常需要關注的,因為某個SQL執行太頻繁,要么是由于應用設計有缺陷,需要在業務邏輯上做出優化處理,要么是業務特殊性所導致。如果執行頻繁的SQL,往往容易遭遇一些并發性的問題。 那么如何查看ORACLE數據庫某個SQL的執行頻率/次數呢? 下面來看看完整的示例代碼。
一、查詢執行最慢的sql
select *from (select sa.SQL_TEXT,sa.SQL_FULLTEXT,sa.EXECUTIONS "執行次數",round(sa.ELAPSED_TIME / 1000000, 2) "總執行時間",round(sa.ELAPSED_TIME / 1000000 / sa.EXECUTIONS, 2) "平均執行時間",sa.COMMAND_TYPE,sa.PARSING_USER_ID "用戶ID",u.username "用戶名",sa.HASH_VALUEfrom v$sqlarea saleft join all_users uon sa.PARSING_USER_ID = u.user_idwhere sa.EXECUTIONS > 0order by (sa.ELAPSED_TIME / sa.EXECUTIONS) desc)where rownum <= 50;二、查詢次數最多的 sql
select *from (select s.SQL_TEXT,s.EXECUTIONS "執行次數",s.PARSING_USER_ID "用戶名",rank() over(order by EXECUTIONS desc) EXEC_RANKfrom v$sql sleft join all_users uon u.USER_ID = s.PARSING_USER_ID) twhere exec_rank <= 100;總結
以上是生活随笔為你收集整理的oracle查看执行最慢与查询次数最多的sql语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ORACLE 表空间SQL
- 下一篇: 激光脱毛和激光治近视有冲突吗