調試查詢SQL Server 05的應用程序無法更改查詢,但需要優化事情。TSQL不存在爲什麼這個查詢很慢?
單獨運行所有選擇很快< 1秒,例如:select * from acscard,從僱員中選擇id ...加入時需要50秒。
將不感興趣的accesscardid字段設置爲null或使用EXISTS時會「更好」嗎?
SELECT * FROM ACSCard
WHERE NOT EXISTS
(SELECT Id FROM Employee
WHERE Employee.AccessCardId = ACSCard.acs_card_number)
AND NOT EXISTS
(SELECT Id FROM Visit
WHERE Visit.AccessCardId = ACSCard.acs_card_number)
ORDER by acs_card_id
這應該是對原始問題的評論...不是一個答案。 – 2010-12-16 02:31:13
索引解決了這個問題 - 不敢相信他們從一開始就沒有! – Mobs 2010-12-16 05:54:28