Oracel分析查询命中索引的情况(explain plan for (select ...);)

  • 使用方式

-- 解析执行计划

explain plan for (

-- 需要被分析的查询语句

select * from ...

);

-- 将解析执行计划结果打印出来

select * from table(DBMS_XPLAN.display);

  • 执行结果

----------------------------------------------------------------------------------------------------
4    | Id  | Operation                    | Name                | Rows  | Bytes | Cost (%CPU)| Time     |
5    ----------------------------------------------------------------------------------------------------
6    |   0 | SELECT STATEMENT             |                     |     1 |    86 |     1   (0)| 00:00:01 |
7    |*  1 |  FILTER                      |                     |       |       |            |          |
8    |*  2 |   TABLE ACCESS BY INDEX ROWID| T_AAA |     1 |    86 |     1   (0)| 00:00:01 |
9    |*  3 |    INDEX RANGE SCAN          | PK_AAA_X |     1 |       |     1   (0)| 00:00:01 |
10    ----------------------------------------------------------------------------------------------------

  • 阅读方式
  1. TABLE ACCESS FULL(全表扫描)
  2. TABLE ACCESS BY ROWID(通过ROWID的表存取)
  3. TABLE ACCESS BY INDEX SCAN(索引扫描)
  4. ……

一般来说,优化SQL就是要避免全表扫描,具体可见参考博文https://www.cnblogs.com/Dreamer-1/p/6076440.html

  • 参考博文

https://www.cnblogs.com/Dreamer-1/p/6076440.html

 

 

 

 

 

你可能感兴趣的:(Oracle)