前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【DB笔试面试601】在Oracle中,给出下面执行计划的执行顺序。

【DB笔试面试601】在Oracle中,给出下面执行计划的执行顺序。

作者头像
AiDBA宝典
发布2019-09-29 16:02:56
5040
发布2019-09-29 16:02:56
举报
文章被收录于专栏:小麦苗的DB宝专栏

题目部分

阅读如下的执行计划,给出SQL的执行顺序。

代码语言:javascript
复制
-----------------------------------------
| Id  | Operation
-----------------------------------------
|   0 | SELECT STATEMENT
|   1 |  SORT AGGREGATE
|   2 |   VIEW
|   3 |    UNION-ALL
|*  4 |     FILTER
|*  5 |      HASH JOIN
|   6 |       TABLE ACCESS FULL
|*  7 |       TABLE ACCESS FULL
|*  8 |      TABLE ACCESS BY INDEX ROWID
|*  9 |       INDEX UNIQUE SCAN
|  10 |     NESTED LOOPS
|  11 |      INDEX FULL SCAN
|  12 |      TABLE ACCESS CLUSTER
|* 13 |       INDEX UNIQUE SCAN
-------------------------------------------

答案部分

分析:采用最右最上最先执行的原则看层次关系,在同一级如果某个动作没有子ID,那么就最先执行,首先,6、7、9、13最右,所以,6,7最先执行做HASH JOIN,为6,7,5。

第二,8有子节点,接下来是9,8。

第三,HASH的结果和8的结果做FILTER过滤。

第四,10这个节点根据原则是11,13,12,10。

第五,剩下依次是3,2,1,0。

所以,该图的执行顺序是6,7,5,9,8,4,11,13,12,10,3,2,1,0。

本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DB宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档