Oracle 查询每天执行慢的SQL

Posted 青春追寻梦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 查询每天执行慢的SQL相关的知识,希望对你有一定的参考价值。

本文转载自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:INSERT
3:SELECT
6:UPDATE
7:DELETE
189:MERGE
详情可通过查找V$SQLCOMMAND视图  */
 
 

以上是关于Oracle 查询每天执行慢的SQL的主要内容,如果未能解决你的问题,请参考以下文章

sql INSERT 执行慢的问题

oracle 中sql执行超慢几乎查询不出来

查询oracle比较慢的session和sql

查询oracle比较慢的session和sql

查询oracle比较慢的session和sql

oracle 用SQL查询一个时间段每天的数据量