KB4023419-FIX: sql server 2008 R2와 비교 했을 때 UNION ALL 및 행 목표가 있는 쿼리가 SQL Server 2014 이상 버전에서 느리게 실행 될 수 있습니다.

증상

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 쿼리 최적화 프로그램 핫픽스 TF 4199 서비스 모델

DBCC 콘솔 명령 및 추적 플래그

각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 확인 하세요.

SQL Server 2016의 최신 누적 업데이트

SQL Server 2014의 최신 누적 업데이트

상태

Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.

참조

Microsoft에서 소프트웨어 업데이트를 설명 하는 데 사용 하는 용어에 대해 알아봅니다.

추가 도움이 필요하신가요?

기술 향상
교육 살펴보기
새로운 기능 우선 가져오기
Microsoft Insider 참가

이 정보가 유용한가요?

소중한 의견에 감사드립니다.

피드백을 주셔서 감사합니다. Office 지원 에이전트와 연락하는 것이 도움이 될 것 같습니다.

×