ORACLE Explain 详解
前言
刚好最近有一次sql调优培训会,去参加后,重新复习Oracle执行计划,感触良多,所以整理资料,做成笔记分享出来
1.什么是执行计划?
执行计划是一条查询语句在Oracle中的执行过程或访问路径的描述。
执行计划描述了SQL引擎为执行SQL语句进行的操作;分析SQL语句相关的性能问题或仅仅质疑查询优化器的决定时,必须知道执行计划;所以执行计划常用于sql调优。
2.怎么查看执行计划?
oracle要使用执行计划一般在sqlplus执行sql:
explain plan for select * from w;
--查看索引使用明细
select * from table(dbms_xplan.display);
如果是使用PLSQL的话,那就可以使用PLSQL提供的查询执行计划了,也就是按F5
打开PLSQL工具 -> 首选项 -> 窗口类型 -> 计划窗口 ,在这里加入执行计划需要的参数
-----------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost | Time |
-----------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 2 | 446 | 667 | 00:00:09 |
| * 1 | COUNT STOPKEY | | | | | |
| 2 | VIEW | | 2 | 446 | 667 | 00:00:09 |
| * 3 | SORT ORDER BY STOPKEY | | 2 | 446 | 667 | 00:00:09 |
| 4 | VIEW | | 2 | 446 | 666 | 00:00:08 |
| 5 | UNION-ALL | | | | | |
| 6 | NESTED LOOPS OUTER