증상
모두 삭제로 설정된 외환 키 제약 조건을 사용하는 테이블이 있으며 외환 키 열에 대한 통계가 테이블의 키 값의 전체 범위를 다루지 않다고 가정합니다(예: 테이블에 대한 데이터 배포 변경 후 통계가 업데이트되지 않았습니다). 이 시나리오에서는 통계 기록에 표현되지 않은 키 값에 해당하는 행을 삭제하려고 시도하고 쿼리 최적화가 기본 카디널리티 예측을 사용하는 경우 삭제 작업이 예상보다 느립니다. 참조 테이블에서 일치하는 행을 찾는 데 인덱스 검사 작업이 사용되는 것을 알 수 있습니다.
상태
Microsoft는 "적용 대상" 절에 나열한 Microsoft 제품에서 이 문제를 확인했습니다.
해결 방법
이 문제는 다음 업데이트의 누적 업데이트에서 SQL Server.
참고: 이 수정은 최적화기 핫픽스를 켜는 경우(데이터베이스 범위 구성 옵션, 쿼리 힌트 또는 추적 플래그 4199를 통해) 사용하도록 설정됩니다.
다음에 대한 누적 업데이트 SQL Server.
각 새 누적 SQL Server 핫픽스와 이전 누적 업데이트에 포함된 모든 보안 수정이 포함됩니다. 다음에 대한 최신 누적 업데이트를 SQL Server.
해결 방법
이 문제를 해결하려면 다음 방법 중 하나를 사용하십시오.
-
레거시 카디널리티 예측을 사용 합니다. 자세한 내용은 카디널리티 예측(SQL Server)을 참조하세요.
-
외설 키 정의에서 하위 삭제를 제거하고 부모 테이블과 자식 테이블 간의 JOIN을 사용하여 하위 삭제와 동일한 작업을 수행하여 삭제 작업을 수행합니다.
-
데이터를 삭제하기 전에 부모 테이블의 통계를 FULLSCAN로 업데이트합니다.
참조
Microsoft가 소프트웨어 업데이트를 설명하는 데 사용하는 용어에 대해 알아보세요.