我對SQL查詢不太熟悉,但注意到使用Select Distinct運行查詢時性能顯着下降。我正在運行SQL Server 2008 R2。下面是我的查詢:SELECT DISTINCT的替代方案
select distinct CL.ClientID, NL.Name
from CL CL
inner join PR PR on CL.ClientID = PR.ClientID
where PR.WBT1 in (Select distinct WBT1
from TabFields
where custInclude = 'Y' and WBT2 = '')
and PR.WBT2 = ''
order by NL.Name
有誰知道如何在不爲了在返回相同的結果,以加快查詢中使用SELECT DISTINCT修改此查詢?任何幫助是極大的讚賞。謝謝。
當你說「一個顯著性能降低」,你可以提供任何號碼? (你如何衡量?你在查看查詢計劃,查詢執行統計數據,所花的時間?)你的查詢有什麼區別?第一個select子句中只有「distinct」關鍵字?或者也在「IN」子查詢中? – Tao
當你使用'IN'時,你不需要''''' – Magnus