SELECT T1.DESCRIPTION,
T1.NAME,
T1.EXTERNALKEY,
T2.STATECODE
FROM TABLE1 T1, TABLE2 T2, TABLE3 T3
WHERE T1.CLASSID = 7040
AND T2.ID = T3.ID
AND T2.RECEIVERID = T1.ID
AND T1.OWNERID = (SELECT ID
FROM TABLE1
WHERE EXTERNALKEY = 'XXX')
MINUS
SELECT T1.DESCRIPTION,
T1.NAME,
T1.EXTERNALKEY,
T2.STATECODE
FROM TABLE3 T3, TABLE1 T1, TABLE2 T2
WHERE VALUE = 'XXXX' AND T3.ID = T1.ID;
嗨。這是我的執行查詢,需要很長時間。任何人都可以改變它來優化一個。感謝ü如何減少sql查詢的執行時間?
小心分享你的**表格結構**?另外:你的數據庫中有什麼樣的索引? –
表2沒有出現在查詢的第二部分的where子句中,你得到了一個笛卡爾積...希望這就是你的意圖。 – Mat
@Mat +1好點,使用正確的連接語法會更容易! – Bridge