`select * from DETAIL a
where a.BUILD > GETDATE() - 90 s
and (a.IN + a.Rt) NOT IN (SELECT Sample_IN + Rt FROM SUMMARY)
and (a.Rt + a.Err) IN
(SELECT Rt + Err
FROM SUMMARY
where (sample_in + rt + err) NOT IN
(SELECT in + rt + err FROM DETAIL))
group by a.rt, a.plant, a.in, a.build`
該查詢顯示性能問題,它在sql2000服務器中運行得更快,但在sql2008R2中表現出較差的性能。兩個ennvironment中的表都具有相同的屬性(列數據類型和索引)。我猜在select子句的「+」運算符中存在一些可行性。誰能幫我 ?SQL子查詢和加入性能問題
我不熟悉sqlserver,所以我不知道你是否可以這樣做,但爲什麼不使用(a.in,a.Rt)不在(select sample_IN,Rt from SUMMARY) – sufleR