如何优化此查询?我曾尝试使用LEFT JOIN
条款,但仍至少需要3秒。优化查询仍需要多长时间
SELECT DISTINCT MBLNR
FROM MKPF
WHERE MANDT='368'
AND XBLNR = '0150525913'
AND MBLNR NOT IN (SELECT DISTINCT SMBLN FROM MSEG WHERE XBLNR_MKPF = '0150525913')
使用LEFT JOIN
后,仍需要3秒,得到的结果:
SELECT DISTINCT A.MBLNR
FROM MKPF AS A
LEFT JOIN MSEG AS B ON B.XBLNR_MKPF=A.XBLNR AND A.MBLNR <> B.SMBLN
WHERE A.XBLNR = '0150525913'
使用LEFT OUTER JOIN
真的要花很多时间来返回行。
谢谢。
试着在第二张桌子上做一个外部连接。另外,你这些索引? – BRogers
@BRogers:'left outer join'需要更多时间来返回行。是的,它已经索引.. –
i)希望你的查询是正确的。我的意思是你知道你想要什么输出。 ii)你确定使用左连接而不是内连接,你也确定不同。 iii)索引是在MANDT,XBLNR,XBLNR_MKPF上定义的 – KumarHarsh