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 (....) 不就好了么。 先把语句简化了, 再看执行路径