为什么这个sql执行很慢啊?

一杯鲜橙多 2015-12-07 12:05:59
     (SELECT SO.SO_CUST_NAME  "Consignee",
SO.SO_ITEM_PO_NUM "PO#",
SO.SO_ITEM_NUM "SKU#",
PO.PO_ITEM_TOTAL_QTY "Units Ordered",
SO.SO_ITEM_TOTAL_UNIT "Units Booked",
NULL "Units Shipped",
SO.SO_NUM "SO#",
NULL "Post Advice#",
NULL "FW-BL"
FROM RPT_SHIP_DETAIL_PO PO,
RPT_SHIP_DETAIL_SO SO
WHERE PO.SHIP_DETAIL_PO_OID = SO.SHIP_DETAIL_PO_OID
AND NOT EXISTS
(SELECT 1
FROM RPT_SHIP_DETAIL_PSTADV PSTADV
WHERE PSTADV.SHIP_DETAIL_SO_OID = SO.SHIP_DETAIL_SO_OID)
AND (SO.SO_STATUS IS NULL
OR SO.SO_STATUS <> 'CANCELLED')
AND SO.SO_CUST_CODE IN ('10000516CRR', '10000514CRR', '10000515CRR', '10000512CRR' )
AND PO.PO_ITEM_TOTAL_QTY <> SO.SO_ITEM_TOTAL_UNIT
and rownum < 5)
union
(SELECT PSTADV.PSTADV_CUST_NAME "Consignee",
PSTADV.PSTADV_ITEM_PO_NUM "PO#",
SO.SO_ITEM_NUM "SKU#",
PO.PO_ITEM_TOTAL_QTY "Units Ordered",
SO.SO_ITEM_TOTAL_UNIT "Units Booked",
PSTADV.PSTADV_ITEM_TOTAL_UNIT "Units Shipped",
SO.SO_NUM "SO#",
PSTADV.PSTADV_NUM "Post Advice#",
PSTADV.PSTADV_CARRIER_BL_NUM "FW-BL"
FROM RPT_SHIP_DETAIL_PO PO,
RPT_SHIP_DETAIL_SO SO,
RPT_SHIP_DETAIL_PSTADV PSTADV
WHERE SO.SHIP_DETAIL_SO_OID = PSTADV.SHIP_DETAIL_SO_OID
AND PO.SHIP_DETAIL_PO_OID = SO.SHIP_DETAIL_PO_OID
AND (SO.SO_STATUS IS NULL
OR SO.SO_STATUS <> 'CANCELLED')
AND SO.SO_CUST_CODE IN ('10000516CRR', '10000514CRR', '10000515CRR', '10000512CRR' )
AND PSTADV.PSTADV_CUST_CODE IN ('10000516CRR', '10000514CRR', '10000515CRR', '10000512CRR' )
AND (PO.PO_ITEM_TOTAL_QTY <> SO.SO_ITEM_TOTAL_UNIT OR PO.PO_ITEM_TOTAL_QTY <>PSTADV.PSTADV_ITEM_TOTAL_UNIT)
and rownum < 5
)



为什么这个sql跑不出来,耗时非常长。。。执行计划在附件图片里面,大家帮忙看看。
...全文
153 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
笑容融化坚冰 2015-12-07
  • 打赏
  • 举报
回复
这里是灌水区,还是发到对应的sql区要好。。。。。

594

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧