SELECT TRUNC(A.ELAPSED_TIME /
                     DECODE(A.EXECUTIONS, 0, 1, A.EXECUTIONS)) ELAPSED_TIME,
               TRUNC(A.BUFFER_GETS /
                     DECODE(A.EXECUTIONS, 0, 1, A.EXECUTIONS)) BUFFER_GETS,
               A.EXECUTIONS,
               A.LAST_ACTIVE_TIME,
               TRUNC(A.DISK_READS / DECODE(A.EXECUTIONS, 0, 1, A.EXECUTIONS)) DISK_READS,
               A.HASH_VALUE,
               A.SORTS,
               A.SQL_FULLTEXT SQL_TEXT
          FROM V$SQL A
         WHERE PARSING_SCHEMA_NAME <> 'SYS'
         ORDER BY 1 DESC

解决方案 »

  1.   

    消耗时间最多的10条sql
    select sql_id,child_number,sql_text,elapsed_time from (select sql_id,child_number,sql_text,elapsed_time,cpu_time,disk_reads,rank () over (order by elapsed_time desc) as elapsed_rank from v$sql) where elapsed_rank<10;
      

  2.   

    SELECT * FROM (SELECT PARSING_USER_ID
    EXECUTIONS,SORTS,COMMAND_TYPE,DISK_READS,
    sql_text FROM v$sqlarea ORDER BY disk_reads DESC)
    WHERE ROWNUM<10 ;