증상
Microsoft SQL Server 2017 또는 2019이 설치 되어 있고이를 실행 하 고 있다고 가정 합니다. CE (기본 카디널리티 추정 ). 열 Col1에 대 한 필터 조건자가 있는 쿼리를 실행 합니다. 쿼리 조건자에는 내장 된 UPPER, LOWER 또는 RTRIM이 있습니다. Col1의 통계는 최적화 프로그램에서 사용 합니다. 이 시나리오에서는 부정확 한 카디널리티를 관찰할 수 있습니다. 예측 하 고 SQL Server가 비효율적인 계획을 사용 합니다. 조건자를 사용 하는 쿼리는 다음과 같습니다.
사용자의 person_id 선택 (전자 메일 UPPER (N ' @live .com% ')) (좋아요)
사용자의 person_id 선택 (전자 메일 = UPPER(N'msft@live.com ')))))))))
상태
Microsoft는 "적용 대상" 절에 나열한 Microsoft 제품에서 이 문제를 확인했습니다.
해결 방법
이 문제는 다음과 같은 SQL Server 누적 업데이트에서 해결 되었습니다.
SQL Server의 누적 업데이트 정보:
각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 확인 하세요.
참고 이 수정을 위해서는 다음 중 하나가 필요 합니다. 적용 하려면 다음을 수행 합니다.
-
데이터베이스 범위 구성 QUERY_OPTIMIZER_HOTFIXES ON으로 설정
-
ENABLE_QUERY_OPTIMIZER_HOTFIXES 사용 힌트 사용
-
추적 플래그 4199 사용
참조
Microsoft가 소프트웨어 업데이트를 설명하는 데 사용하는 용어에 대해 알아보십시오.