증상
Microsoft SQL Server 2014 또는 2016에서 보기를 쿼리하면 SQL Server 2008 R2의 실행과 비교 하 여 완료 하는 데 더 많은 시간이 걸릴 수 있습니다.
UNION ALL과 행 목표 (예: TOP N 절, FAST N 또는 EXISTS 조건자)를 사용 하는 쿼리를 실행 하면 sql server 2014 이상 버전에서 sql server 2008 R2와 비교 하는 경우 쿼리가 느리게 실행 되는 것을 볼 수 있습니다.
원인
SQL Server 2008 R2에서 쿼리 최적화 프로그램은 행 목표가 있는 경우 모든 하위 통합 아래에 있는 다른 파트의 순서를 변경 하 여 가장 저렴 한 부분을 먼저 이동 합니다. 이렇게 하면 낮은 비용의 부품이 필요한 수의 행을 생성 하 고 더 저렴 한 부품을 계속 실행할 수 없을 경우 쿼리 실행이 완료 됩니다. 이후 버전의 SQL Server에서는 이러한 순서가 변경 되지 않습니다.
해결 방법
이 문제는 다음과 같은 SQL Server 누적 업데이트에서 해결 되었습니다.
SQL Server 2016 RTM의 누적 업데이트 7
SQL Server 2016 SP1 용 누적 업데이트 4
SQL Server 2014 SP2에 대 한 누적 업데이트 6
참고 이 문제를 해결 하려면 쿼리 Optimiser을 사용 하도록 설정 해야 합니다.
쿼리 최적화 프로그램 및 추적 플래그에 대 한 자세한 내용은 다음 링크를 참조 하세요.
각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 확인 하세요.
상태
Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.
참조
Microsoft에서 소프트웨어 업데이트를 설명 하는 데 사용 하는 용어에 대해 알아봅니다.