-
执行业务sql。例如:
SELECT count(1) FROM SPGL_XMSPSXBLXXB;
-
查询V$SQL执行计划表,找出SQL_ID,查询条件为:
1.来源是navicat客户端的 。
2.最后生效时间为2分钟内。
3.不包含字段SQL_TEXT(排除当前的执行计划查询sql)。
SELECT SQL_TEXT, SQL_ID, CHILD_NUMBER, LAST_ACTIVE_TIME FROM V$SQL WHERE MODULE = 'navicat.exe' AND LAST_ACTIVE_TIME > sysdate - 2 / ( 24 * 60 ) AND INSTR( SQL_TEXT, 'SQL_TEXT' ) = 0 AND SQL_TEXT like 'SELECT%' ORDER BY LAST_ACTIVE_TIME DESC;
-
根据第2步的业务SQL_ID。
select * from table(dbms_xplan.display_cursor('第2步SQL_ID', 第2步CHILD_NUMBER));
-
将第3步的查询结果粘贴到 Editplus 或者 UltraEdit等编辑器中,效果更佳。
SQL_ID 490c3dgm098gg, child number 0 ------------------------------------- SELECT count(1) FROM SPGL_XMSPSXBLXXB Plan hash value: 2768279180 ---------------------------------------------------------------------- | Id | Operation | Name | Rows | Cost (%CPU)| Time | ---------------------------------------------------------------------- | 0 | SELECT STATEMENT | | | 37 (100)| | | 1 | SORT AGGREGATE | | 1 | | | | 2 | INDEX FAST FULL SCAN| 8 | 24198 | 37 (0)| 00:00:01 | ----------------------------------------------------------------------
oracle查看实际执行计划
最新推荐文章于 2024-06-24 09:08:57 发布