如何優化此查詢?我曾嘗試使用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