[英]SQL query improvement - MSAccess 2007
我需要根據以下SQL選擇所有記錄:
Select ID, ID2 From Table1 Where ID2 NOT IN (Select ID2 From Table2 Where ID3 IN (151,157))
表1中有171k記錄,表2中有70k記錄,其中'ID3 IN(151,157)'。
不幸的是,該查詢需要永遠; 事實上,我從未在具有32GB內存和四核I7處理器的系統上看到它完成。 30分鍾后我放棄並取消。
我想這里有一個或兩個SQL大師可以告訴我如何改進這個查詢並讓它在一分鍾內完成。
您可以嘗試加入子查詢:
Select ID, ID2
From Table1
LEFT JOIN
(Select ID2
From Table2
Where ID3 IN (151,157))
WHERE ID2 IS NULL
如果這不起作用,我會考慮將子查詢創建為臨時表並引用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.