我需要一個龐大的數據集的工作,但需要偶爾排除基於條件的記錄。
由於被檢查的數據量以及將要返回的數據量一次是成千上萬,並且會頻繁運行,所以我想知道是否有人可以說明一些情況哪種方法最好是在速度方面和負載,以便讓一切運行那樣順利,因爲我們可以
SELECT a.*
FROM table_a as a
LEFT JOIN table_b
ON table_b.a_id = a.id
WHERE table_b.status <> 'new'
OR
SELECT *
FROM table_a
WHERE id NOT IN (
SELECT a_id
FROM table_b
WHERE status <> 'new'
)
你確定兩個查詢總會產生相似的結果嗎? –
這些查詢都是例子,所以可能不準確 – duellsy
唉好吧。 –