DTA는 통계 생성을 권장합니다


10

방금 DTA를 통해 T-SQL 쿼리를 실행했으며 권장 사항 중 하나는 SQL 코드 파일에서 많은 쿼리의 일부인 열 중 하나에서 STATISTICS를 작성하는 것입니다.

제 질문은 통계가 성능에 얼마나 정확하게 도움이됩니까?

답변:


7

통계는 쿼리 실행 계획을 만들 때 사용됩니다.

쿼리 최적화에 대한 통계는 테이블 또는 인덱싱 된 뷰의 하나 이상의 열에있는 값의 분포에 대한 통계 정보가 포함 된 개체입니다. 쿼리 최적화 프로그램은 이러한 통계를 사용하여 쿼리 결과에서 카디널리티 또는 행 수를 추정합니다. 이러한 카디널리티 추정을 통해 쿼리 최적화 프로그램은 고품질 쿼리 계획을 만들 수 있습니다. 예를 들어, 쿼리 최적화 프로그램은 카디널리티 추정을 사용하여 리소스를 많이 사용하는 인덱스 스캔 연산자 대신 인덱스 탐색 연산자를 선택하여 쿼리 성능을 향상시킬 수 있습니다.

자세한 내용은 http://msdn.microsoft.com/en-us/library/ms190397.aspx 를 참조하십시오.


1
훌륭한 링크와 설명. 자주 쿼리되는 테이블에서 통계를 작성하는 것이 항상 유리합니까?
토마스 스트링거

예, 가장 읽기 쉬운 테이블에 대한 통계가 항상 적절한 지 확인해야합니다. 테이블이 쓰기 집약적 인 경우 매일 밤과 같이 통계를 업데이트해야 할 수 있습니다.
Alex_L

2
@ Surfer513-주의 : 통계 작성 하면 해로운 영향을 줄 있습니다. 플래너에게 제공하는 정보가 좋을수록 다른 실행 경로를 선택할 수 있으며 이것이 확률 게임이기 때문에 (일반적으로 더 빠를지라도)이 경로가 느려질 수 있습니다. 즉, 프로덕션 데이터베이스에서 구현하기 전에 테스트하십시오.
잭 topanswers.xyz 시도라고

7

DTA가 단일 열 통계를 추천 한 경우 자동 통계 생성을 해제해야합니까? 자동 작성은 술어에 사용 된 모든 열에 대해 통계를 자동으로 작성하므로 일반적으로 전원을 켜두는 것이 좋습니다. 이 데이터베이스의 자동 업데이트 상태를 점검하십시오.이 데이터베이스는 보통 다시 켜져 있어야합니다.

DTA를 가장 잘 사용하는 방법 중 하나는 누락 된 다중 열 통계를 식별하는 것입니다.이 통계는 자동 생성이 작성되지 않습니다. 그러나 단일 열의 경우 자동 생성이 자동으로 처리해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.