FIX: 성능 저하 SQL Server 2012 또는 SQL Server 2014 테이블 변수를 사용 하는 경우

이 문서는 Microsoft 기계 번역 소프트웨어를 이용하여 번역되었으며 Microsoft Community에 의한 Community Translation Framework(CTF) 기술 혹은 사람이 번역한 내용에 의하여 사후 편집될 수 있습니다. Microsoft는 Knowledge Base에 있는 모든 문서에 다양한 언어로 접근할 수 있도록 하기 위하여 기계 번역, 사람에 의한 번역 및 커뮤니티가 편집한 내용을 모두 제공합니다. 번역된 문서는 어휘, 구문 및/혹은 문법에 오류가 있을 수 있습니다. Microsoft는 번역 오류로 인한 부정확성, 오류 및/또는 손해와 이를 고객이 사용하는 데에 대하여 책임을 지지 않습니다.

이 문서의 영문 버전 보기:2952444
현상
행 수를 사용 하 여 table 변수를 채운 다음 다른 테이블을 조인할 때 쿼리 최적화 프로그램이 쿼리 성능을 저하 시킬 수 있는 비효율적인 쿼리 계획을 선택할 수 있습니다.
해결 방법
이 핫픽스를 적용 한 후 추적 플래그 2453 재컴파일 충분 한 수의 행이 변경 될 때 발생 하는 테이블 변수를 허용 하도록 설정할 수 있습니다. 이 경우 쿼리 최적화 프로그램이 보다 효율적인 계획을 선택할 수 허용할 수 있습니다.

문제가 다음 누적 업데이트에서 처음 수정 되었습니다 또는 / 및 SQL Server 용 서비스 팩입니다.

누적 업데이트 3 SQL Server 2014에 대 한

SQL Server용 누적 업데이트에 대해

SQL Server용 각각의 새로운 누적 업데이트는 모이전 누적 업데이트에 포함된 모든 핫픽스 및 보안 수정 프로그램을 포함합니다. SQL Server에 대한 최신 누적 업데이트를 확인해 보십시오.

SQL Server 2012에 대 한 서비스 팩 2

SQL Server 용 서비스 팩에 대 한

서비스 팩은 누적 됩니다. 새로운 각 서비스 팩에는 새로운 수정 프로그램이 함께 이전 서비스 팩의 모든 수정 프로그램이 포함 되어 있습니다. 최신 서비스 팩 및 서비스 팩에 대 한 최신 누적 업데이트를 적용할 것을 권장 합니다. 최신 서비스 팩을 설치 하기 전에 이전 서비스 팩을 설치할 필요가 없습니다. 다음 문서의 표 1을 사용 하 여 최신 서비스 팩 및 최신 누적 업데이트에 대 한 추가 정보를 찾고.

추가 정보
일괄 처리 또는 프로시저에서 테이블 변수를 사용 하면 쿼리가 컴파일되고 테이블 변수 비어 있는 초기 상태에 맞게 최적화 됩니다. 이 테이블 변수가 런타임에 행의 수를 채운 경우 미리 컴파일된 쿼리 계획이 더 이상 최적의 수 없습니다. 예를 들어, 쿼리에 조인 합니다 중첩된 루프를 사용 하 여 table 변수는 일반적으로 적은 수의 행에 대 한 보다 효율적 이기 때문. 이 쿼리 계획 테이블 변수가 수백만 개의 행이 있으면 효율적으로 취소할 수 있습니다. 해시 조인은 하위 이러한 조건에서 수도 있습니다. 새 쿼리 계획을 가져오려면 다시 컴파일할 수 있어야. 하지만 다른 사용자 또는 임시 테이블을 달리 table 변수에 행 개수 변경 트리거하지 않습니다 쿼리 재컴파일. 일반적으로 사용 하 여 옵션 (재컴파일), 오버 헤드 비용에이 사용할 수 있습니다.
추적 플래그 2453 쿼리 재컴파일 옵션 (재컴파일) 없는 장점이 있습니다. 이 추적 플래그는 옵션 (재컴파일)의 두 가지 주요 측면에서 차이가 있습니다.
(1) 그 다른 테이블과 동일한 행 개수 임계값을 사용합니다. 쿼리 옵션 (재컴파일) 달리를 실행할 때마다 다시 컴파일할 필요는 없습니다. 미리 정의 된 임계값을 초과 하는 행의 수가 변경 된 때에 재컴파일을 트리거할 합니다.
(2) 옵션 (재컴파일) 쿼리 매개 변수 보기 및 쿼리 최적화를 하면 됩니다. 이 추적 플래그 매개 변수 피킹을 강제로 하지 않습니다.

참고 이 추적 플래그는 런타임 시 ON 이어야 합니다. QUERYTRACEON를 사용 하 여이 추적 플래그를 사용할 수 없습니다. 이 추적 플래그 쿼리 최적화를 더 나은의 비용 절감 효과 보다 많은 비용을 수 있는 쿼리 재컴파일 수를 늘릴 수 있기 때문에 주의 해 서 사용 되어야 합니다.
현재 상태
Microsoft는 이 문제가 '적용 대상' 섹션에 나열된 Microsoft 제품의 문제임을 확인했습니다.

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 2952444 - 마지막 검토: 02/22/2016 07:01:00 - 수정: 3.0

Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2952444 KbMtko
피드백