PUSH_SUBQ 可以用来控制子查询的执行 这个是PUSH_SUBQ 的本意
我那个例子的意思是说:
PUSH_SUBQ 本质上是个CBO的hints(当然RBO也提不上hints)
由于PUSH_SUBQ 的引入就是为了来解决unnesting的某些不足
所以在不同的版本上,这个hints发挥的作用也有所不同了.
8i上这个提示的作用更接近本原:
|
用于push_subq是个CBO hints,这里我们可以看到COST的出现:
SQL> select /*+ push_subq */ a.* |
再看CBO下:
正常情况下,没什么好说的:
|
在CBO下push_subq发挥了同样的作用:
SQL> select /*+ push_subq */ a.* |
而在Oracle9i之中:
[oracle@jumper oracle]$ sqlplus "/ as sysdba" |
可以肯定的是push_subq从8i到9i的作用发生了变化
这个变化可能来自于CBO的更加优化
这个变化可能来自于CBO的更加优化
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




