【ORACLE Explain 详解】

本文详细解析了Oracle执行计划,包括执行计划的概念、查看方法和理解执行顺序。重点介绍了全表扫描、ROWID扫描和各种索引访问方式,如唯一扫描、范围扫描、全扫描和快速全扫描,帮助理解SQL查询优化。
摘要由CSDN通过智能技术生成

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        
Oracleexplain plan是用来查看和分析SQL语句执行计划的工具。通过执行explain plan语句,可以获取到SQL语句在Oracle数据库中的执行计划信息,包括每个步骤的操作类型、操作对象、操作条件、操作顺序等。 为了使用Oracle执行计划,你可以在SQL*Plus中执行以下操作: 1. 使用"explain plan for"语句来生成SQL语句的执行计划,例如: explain plan for select * from table_name; 2. 使用"select * from table(dbms_xplan.display)"来查看生成的执行计划,例如: select * from table(dbms_xplan.display); 执行上述语句后,你将得到一个包含详细执行计划信息的结果集,其中列包括步骤顺序、操作类型、操作对象、操作条件、操作行数、操作字节数、操作耗费等。这些信息可以帮助你分析SQL语句的执行效果和性能瓶颈。 希望以上信息能够帮助你理解并使用Oracleexplain plan功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Oracle 执行计划Explain Plan) 说明](https://blog.csdn.net/weixin_36707770/article/details/53953698)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【ORACLE Explain 详解】](https://blog.csdn.net/m0_67403013/article/details/126080643)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值