標籤:
本文轉載自http://blog.itpub.net/28602568/viewspace-1364844/
前言: 工作中的您是否有 想對每天慢的sql進行查詢、匯總或者行最佳化等情況,如下SQL希望對您有協助 --- 查詢每天執行慢的SQL:SELECT S.SQL_TEXT, S.SQL_FULLTEXT, S.SQL_ID, ROUND(ELAPSED_TIME / 1000000 / (CASE WHEN (EXECUTIONS = 0 OR NVL(EXECUTIONS, 1 ) = 1) THEN 1 ELSE EXECUTIONS END), 2) "執行時間‘S‘", S.EXECUTIONS "執行次數", S.OPTIMIZER_COST "COST", S.SORTS, S.MODULE, --串連模式(JDBC THIN CLIENT:程式) -- S.LOCKED_TOTAL, S.PHYSICAL_READ_BYTES "物理讀", -- S.PHYSICAL_READ_REQUESTS "物理讀請求", S.PHYSICAL_WRITE_REQUESTS "物理寫", -- S.PHYSICAL_WRITE_BYTES "物理寫請求", S.ROWS_PROCESSED "返回行數", S.DISK_READS "磁碟讀", S.DIRECT_WRITES "直接路徑寫", S.PARSING_SCHEMA_NAME, S.LAST_ACTIVE_TIME FROM GV$SQLAREA S WHERE ROUND(ELAPSED_TIME / 1000000 / (CASE WHEN (EXECUTIONS = 0 OR NVL(EXECUTIONS, 1 ) = 1) THEN 1 ELSE EXECUTIONS END), 2) > 5 --100 0000微秒=1S AND S.PARSING_SCHEMA_NAME = USER AND TO_CHAR(S.LAST_LOAD_TIME, ‘YYYY-MM-DD‘) = TO_CHAR( SYSDATE, ‘YYYY-MM-DD‘ ) AND S.COMMAND_TYPE IN (2 , 3, 5, 6 , 189) ORDER BY "執行時間‘S‘" DESC;
/* SQL中 COMMAND_TYPE意義:
2:INSERT3:SELECT6:UPDATE7:DELETE189:MERGE
詳情可通過尋找V$SQLCOMMAND視圖 */ V$SQLAREA 官網解釋:http://docs.oracle.com/cd/E11882_01/server.112/e40402/dynviews_3064.htm#REFRN30259 V$SQLCOMMAND 官網解釋:http://docs.oracle.com/cd/E11882_01/server.112/e40402/dynviews_3066.htm#REFRN30632
Oracle 查詢每天執行慢的SQL