我可以: 邀请好友来看>>
ZOL星空(中国) > 技术星空(中国) > [Q]执行计划顺序是怎么看的?
帖子很冷清,卤煮很失落!求安慰
返回列表
签到
手机签到经验翻倍!
快来扫一扫!

[Q]执行计划顺序是怎么看的?

5916浏览 / 9回复

148
精华
148
帖子

等  级:Lv.1
经  验:50
  • Z金豆:

    千万礼品等你来兑哦~快点击这里兑换吧~

  • 城  市:
  • 注  册:
  • 登  录:
发表于 2009-01-12 13:16:11
电梯直达 确定
楼主
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 SORT (AGGREGATE)
2 1 TABLE ACCESS (BY INDEX ROWID) OF 'USER_INFO'
3 2 NESTED LOOPS
4 3 TABLE ACCESS (FULL) OF 'USER_NUM_TABLE'
5 3 INDEX (RANGE SCAN) OF 'PK_USER_INFO' (UNIQUE)
请问以上执行计划语句是如何看的?语句的执行顺序是什么?为什么?请祥解,多谢!


精华

帖子

等  级:Lv.1
经  验:50
发表于 2009-01-12 13:16:11 1楼
难道没有人愿意帮助吗?这前面一排数字怎么看?

cc07it

cc07it


精华

帖子

等  级:Lv.3
经  验:755
发表于 2009-01-12 13:16:11 2楼
从下往上呀,先做4,5,然后做3(nested loop),再做2,然后1
第一个数字是操作顺序号,第2个数字是父操作


精华

帖子

等  级:Lv.1
经  验:50
发表于 2009-01-12 13:16:11 3楼
什么意思,小弟还是不太明白,望大虾指教!

xianjian5

xianjian5


精华

帖子

等  级:Lv.6
经  验:12355
发表于 2009-01-12 13:16:11 4楼
左边的两列数字,第一列表示这条计划的编号,第二列是这条计划的父计划的编号;如果一条计划有子计划,那么先要执行其子计划;
在这个例子中:从第一条编号为0的(SELECT STATEMENT Optimizer=CHOOSE)开始,他有个子计划1(SORT (AGGREGATE)),然后1有个子计划2,2有子计划3, 3 有子计划4和5,4是3的第一个子计划,所以先执行4(TABLE ACCESS (FULL) OF 'USER_NUM_TABLE'),再执行5(INDEX (RANGE SCAN) OF 'PK_USER_INFO' (UNIQUE)),4和5执行完返回到其父计划3(NESTED LOOPS),3把4和5取到的rows进行nested loops,结果再返回到2,再到1排序,再到0select


精华

帖子

等  级:Lv.1
经  验:50
发表于 2009-01-12 13:16:11 5楼
哦,原来如此,真是太感谢你了
但是有个问题,我看了一片文章:

0 SELECT STATEMENT Optimizer=CHOOSE

1 0 NESTED LOOPS

2 1 TABLE ACCESS (FULL) OF 'EMP'

3 1 TABLE ACCESS (BY INDEX ROWID) OF 'DEPT'

4 3 INDEX (UNIQUE SCAN) OF 'PK_DEPT' (UNIQUE)

文章中说通过以上分析,可以得出实际的执行步骤是:

1. TABLE ACCESS (FULL) OF 'EMP'

2. INDEX (UNIQUE SCAN) OF 'PK_DEPT' (UNIQUE)

3. TABLE ACCESS (BY INDEX ROWID) OF 'DEPT'

4. NESTED LOOPS (JOINING 1 AND 3)

好象和你说的不大一样,这是为什么?























huangrencaii...

huangrencaiit


精华

帖子

等  级:Lv.3
经  验:784
发表于 2009-01-12 13:16:11 6楼
其实就是一个树遍历问题,你把执行计划按顺序号,和父计划号划成一棵树,那么执行这条sql实际上就是在遍历这棵树了


精华

帖子

等  级:Lv.1
经  验:50
发表于 2009-01-12 13:16:11 7楼
谢谢,那有没有相关详细解释文档可供参考?

dy154912584i...

dy154912584it


精华

帖子

等  级:Lv.3
经  验:706
发表于 2009-01-12 13:16:11 8楼

关于sql是怎样执行的,几乎所有的数据库教科书都会讲到的


精华

帖子

等  级:Lv.1
经  验:50
发表于 2009-01-12 13:16:11 9楼
我的意思是有一个案例一样的,然后通过这个案例详细说明,包括我提到的关于执行顺序等细节问题
高级模式
星空(中国)精选大家都在看24小时热帖7天热帖大家都在问最新回答

针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员查看帮助  或  给我提意见

快捷回复 APP下载 返回列表