0
我有這樣的事情:LEFT JOIN或選擇選擇(SQL - 查詢的速度)
SELECT CompanyId
FROM Company
WHERE CompanyId not in
(SELECT CompanyId
FROM Company
WHERE (IsPublic = 0) and CompanyId NOT IN
(SELECT ShoppingLike.WhichId
FROM Company
INNER JOIN
ShoppingLike ON Company.CompanyId = ShoppingLike.UserId
WHERE (ShoppingLike.IsWaiting = 0) AND
(ShoppingLike.ShoppingScoreTypeId = 2) AND
(ShoppingLike.UserId = 75)
)
)
它有3個選擇,我想知道我怎麼能有它未做3種選擇,而這一個有100萬條記錄更好的速度? 「select in select」或「left join」?
如果性能出現問題,請嘗試使用硬件上數據庫上數據的每個版本,並查看哪個更快。 –
它有兩個問題,我無法準備左連接,對於大數據我無法測試它,因爲我沒有:(如果MS SQL爲你做了 – dan
,那麼不要擔心,因爲它的優化器會優化你可以在companyId上創建索引,以幫助MS SQL更快地完成查詢。 – Mahmoud