当前位置: 代码迷 >> Oracle管理 >> sql 的优化。该怎么解决
  详细解决方案

sql 的优化。该怎么解决

热度:51   发布时间:2016-04-24 04:55:23.0
sql 的优化。。。

SELECT o.* FROM ORDER_RELEASE o, order_release_status orss 
WHERE orss.order_release_gid = o.order_release_gid    
AND   orss.status_type_gid = 'DUPONTCHN.KPI_COUNT'
AND   glog_util.remove_domain(orss.status_value_gid)='Y' 
AND   EXISTS (SELECT 1 FROM ORDER_RELEASE o1 WHERE o.order_release_gid = o1.order_release_gid 
              AND (o1.ORDER_RELEASE_TYPE_GID= 'DUPONTCHN.OUTBOUND' 
  OR o1.ORDER_RELEASE_TYPE_GID= 'DUPONTCHN.RETURN'
          OR o1.ORDER_RELEASE_TYPE_GID='DUPONTCHN.SAMPLE'))



这个可以优化吗? 好像用 OR 不好。。。
------解决方案--------------------
哥们
这种问题最好把统计信息和执行计划连带贴上来

------解决方案--------------------
引用:
哥们
这种问题最好把统计信息和执行计划连带贴上来


我觉得这个语句 不是很复杂 应该会有人有过这种经验 所以没有贴。 

------解决方案--------------------
不用嵌套语句吧, 直接用 字段 order_release_gid in (....) 不就好了么。 先把语句简化了, 再看执行路径
  相关解决方案