码迷,mamicode.com
首页 > 其他好文 > 详细

10g full join 优化

时间:2017-04-22 18:47:26      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:11g   lock   outer   10g   pre   join   oracle10g   blog   query   

今天一个女生咨询我报名学优化。聊着聊着就让我优化一个sql


由于怕泄密,所以删除了 sql 。

不好意思


该sql是 olap 的, 在oracle10g 上面跑。跑一次要33秒钟。一般olap报表。最好的客户体验要在5秒以内。

大家注意看。sql里面有full join,在oracle10g里面,full join默认会扫描2次,一次left join 一次right join 然后union all. 这样肯定慢了。

在11g 仅仅扫描1次。

10g 里面能够用 一个hint  /*+ NATIVE_FULL_OUTER_JOIN */ ,让他们扫描1次

加了hint之后,SQL 3秒能出结果,她还问是否能进一步优化,由于要讲课了,8点半讲课,没啥时间,明天帮忙看吧。

注意。这个hint别放在 第一个select 后面,这样是无用的。要放在 from (select /*+ NATIVE_FULL_OUTER_JOIN */  COALESCE(wocode,

也就是说要离full join 近期的一个 select 。至于为什么,请自己 google query block keyword。 hint一般仅仅在 query block 生效。


 




10g full join 优化

标签:11g   lock   outer   10g   pre   join   oracle10g   blog   query   

原文地址:http://www.cnblogs.com/mfmdaoyou/p/6748542.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!