다중 열 비교가있는 SQL Server 조인 성능 문제가 있습니다.SQL Server JOIN 성능
SELECT T1.* FROM T1, T2
WHERE T1.LASTNAME = T2.LASTNAME AND
T1.FIRSTNAME = T2.FIRSTNAME AND
T1.MIDDLENAME = T2.MIDDLENAME AND
DAY(T1.DoB) = T2.DOBDay AND
MONTH(T1.DoB) = T2.DOBMonth
각 테이블은 20,000 개가 넘으며 실제로 성능 문제가 발생합니다. 나는 그것을 달렸다. 그리고 내가 그것을 취소했을 정도로 6 분보다 오랫동안 잡았다!
해당 진술의 성능을 향상시킬 수있는 방법이 있습니까?
두 테이블 모두에 어떤 인덱스가 있습니까? 실행 계획은 무엇이라고 말합니까? – peterm
두 테이블의 where 절에있는 모든 필드의 인덱스를 확인하십시오! – Anshuman
최악의 경우, 두 테이블 모두에 인덱스가 없으면 T1에있는 20,000 개의 행 각각은 T2에서 20,000 개의 행과 비교해야하며 결과적으로 400MM 행의 작업 세트가 생성됩니다. 이 문제가 앞에 오지 않고 화면 뒤에 있음을 확인하려면 사용 가능한 색인에 대한 설명을 제공하십시오. –