中易网

如何解析oracle执行计划

答案:2  悬赏:50  
解决时间 2021-02-22 18:40
如何解析oracle执行计划
最佳答案
要执行任何SQL语句,Oracle 必须推导出一个“执行计划”。查询的执行计划是 Oracle 将如何实现数据的检索,以满足给定 SQL 语句的描述。它只不过是其中包含的步骤及它们之间关系的顺序树。
执行计划树的基本规则如下:
执行计划将包含一个根,没有父(操作)
父(操作)可以有一个或更多的子(操作),其ID将小于子(操作)ID
一子(操作)可只有一个父(操作),显示时右缩进;含许多子(操作)时,缩进相同
下面是一个执行计划示例。

SQL> explain plan for
2 select e.empno, e.ename, d.dname
3 from emp e, dept d
4 where e.deptno = d.deptno
5 and e.deptno = 10;

Explained.

SQL> SELECt * FROM table(dbms_xplan.display(null,null,'basic'));

PLAN_TABLE_OUTPUT
------------------------------------------------
Plan hash value: 568005898

------------------------------------------------
| Id | Operation | Name |
------------------------------------------------
| 0 | SELECT STATEMENT | |
| 1 | NESTED LOOPS | |
| 2 | TABLE ACCESS BY INDEX ROWID| DEPT |
| 3 | INDEX UNIQUE SCAN | PK_DEPT |
| 4 | TABLE ACCESS FULL | EMP |
------------------------------------------------

使用上述的规则,可以说:
操作0是树的根,它有一个子操作,即操作1
操作1有两个子操作,即操作2和4
操作2有一子操作,即操作3
下面是执行计划的图形表示。如果解读该树:为执行操作1,需执行操作2和4;操作2先完成;为执行2,需执行其子操作3;为执行操作4,需执行操作2。

Operation 0
(SELECT STATEMENT)
|
|
|
Operation 1
(NESTED LOOPS)
/\
/ \
/ \
/ \
/ \
/ \
/ \
/ \
Operation 2 Operation 4
(TABLE ACCESS (TABLE ACCESS FULL)
BY INDEX ROWID)
|
|
|
Operation 3
(INDEX UNIQUE SCAN)

操作3访问DEPT表,使用 INDEX UNIQUE SCAN,并传递ROWID给操作2
操作2从DEPT表返回所有行给操作1
操作1对操作2返回的每一行执行操作4
操作4执行全表扫描(TABLE ACCESS FULL),应用过滤器E. DEPTNO = 10,返回结果行给操作1
操作1返回最后结果给操作0
全部回答
搜一下:如何解析oracle执行计划
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我女友要到酒店当服务员,安全吗?
唐回村怎么去啊,有知道地址的么
今天我的公积金担保费的发票上的对奖涂层被我
诚尚五金家具有限公司我想知道这个在什么地方
屯溪的江南新城在哪
东扩超市地址在什么地方,想过去办事
长城哈弗m2如何拆卸方向盘上的喇叭按钮
国际标准英语是美式英语,还是英式英语?
做电销用什么电话卡最便宜!~~求建议~~
梧州市劳动保护教育中心特种作业操作技术岑溪
成都的3+2学校,有哪些比较正规,比较好的?
什么叫 不锈钢型材?
买了FIIDO的亲子版电动车,请问它的定速巡航
中影M-17国际影城我想知道这个在什么地方
嘉兴汽车过户
推荐资讯
我们生活中有哪些破坏美的现象
exo世勋和伯贤的cp粉丝多吗
请问:在上述招标活动中,存在哪些不符合《招
QQ等级50级算高吗?
为什么史密斯净水器溜走的水比过滤的水多
手机黑屏有声音怎么办
公司厂地用的电费明细单是别家公司的抬头,但
我是开水果店的,看别人店都扫二维码做生意,
西环路南段/向阳路(路口)在哪里啊,我有事要
洛阳中信重工大专待遇怎么样啊?
有谁知道哈尔滨市道里区友谊上的证券交易所(
地基为140平米,建房一层后使用面积为多少
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?