oracle查看实际执行计划

  1. 执行业务sql。例如:
    SELECT count(1) FROM SPGL_XMSPSXBLXXB;
    
  2. 查询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;
    
  3. 根据第2步的业务SQL_ID。
    select * from table(dbms_xplan.display_cursor('第2步SQL_ID',2步CHILD_NUMBER));
    
  4. 将第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 |
    ----------------------------------------------------------------------
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值