`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에서는 성능이 떨어집니다. 두 환경의 테이블은 동일한 특성 (컬럼 데이터 유형 및 색인)을 갖습니다. select 절에 대한 "+"연산자에 약간의 가능성이 있다고 생각합니다. 누구든지 나를 도울 수 있습니까?SQL 하위 쿼리 및 조인 성능 문제
저는 sqlserver에 익숙하지 않아서 할 수 있는지 모르겠지만 (a.in, a.Rt) (select sample_IN, SUMMARY에서 Rt)을 사용하지 마십시오. – sufleR