Oracle 查询每天执行慢的SQL
Posted 奋斗的小鸟_oracle
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 查询每天执行慢的SQL相关的知识,希望对你有一定的参考价值。
前言: 工作中的您是否有 想对每天慢的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视图 */
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的主要内容,如果未能解决你的问题,请参考以下文章