[MSSQL] 인덱스 통계보기

SQL 2012. 8. 30. 09:49


인덱스 통계보기


SQL Server 2005 온라인 설명서  

 

DBCC SHOW_STATISTICS(Transact-SQL)  


지정한 테이블에서 특정 대상에 대한 현재 배포 통계를 표시합니다.


중요:  

이 기능은 이전 버전의 SQL Server 에서 변경되었습니다. 자세한 내용은 SQL Server 2005 데이터베이스 엔진 기능의 동작 변경을 참조하십시오.

 



 Transact-SQL 구문 표기 규칙


구문

 

DBCC SHOW_STATISTICS ( 'table_name' | 'view_name' , target ) 

[ WITH [ NO_INFOMSGS ] < option > [ , n ] ]

< option > :: =

    STAT_HEADER | DENSITY_VECTOR | HISTOGRAM

 


주의

반환된 결과는 인덱스의 선택도(반환된 밀도가 낮을수록 선택도가 높음)를 나타내고 인덱스가 쿼리 최적화 프로그램에 유용한지를 판단할 기본 정보를 제공합니다. 반환된 결과는 인덱스의 배포 단계를 기반으로 합니다.


통계를 마지막으로 업데이트한 날짜를 보려면 STATS_DATE 함수를 사용합니다.


인수

'table_name' | 'view_name'


통계 정보를 표시할 테이블 또는 인덱싱된 뷰의 이름입니다. 테이블 및 뷰 이름은 식별자에 대한 규칙을 따라야 합니다.


target


통계 정보를 표시할 개체의 이름(인덱스 이름, 통계 이름 또는 열 이름)입니다. 대상 이름은 식별자에 대한 규칙을 따라야 합니다. target이 테이블의 기존 인덱스 또는 통계 이름인 경우 이 대상에 대한 통계 정보가 반환됩니다. target이 기존 열의 이름이고 이 열에 자동으로 생성된 통계가 있는 경우 자동 생성된 통계에 대한 정보가 반환됩니다.


NO_INFOMSGS


심각도가 0에서 10 사이인 모든 정보 메시지를 표시하지 않습니다.


STAT_HEADER | DENSITY_VECTOR | HISTOGRAM [ , n ]


이 옵션 중 하나 이상을 지정하면 문에서 반환하는 결과 집합이 제한됩니다.


결과 집합

다음 표에서는 STAT_HEADER를 지정한 경우 결과 집합에 반환되는 열을 설명합니다.


열 이름  설명  

Name

 통계의 이름입니다.

 

Updated 

 통계가 마지막으로 업데이트된 날짜와 시간입니다.

 

Rows 

 테이블의 행 수입니다.

 

Rows Sampled 

 통계 정보를 위해 샘플링된 행 수입니다.

 

Steps 

 배포 단계 수입니다.

 

Density 

 첫 번째 인덱스 열 접두사의 선택도입니다(자주 사용하지 않음).

 

Average key length 

 모든 인덱스 열의 평균 길이입니다.

 

String Index 

 '예'는 LIKE 조건의 결과 집합 크기에 대한 예측을 지원하기 위해 문자열 요약 인덱스가 통계에 포함되어 있음을 나타냅니다. char, varchar, nchar 및 nvarchar, varchar(max), nvarchar(max), text 그리고 ntext 데이터 형식의 선행 열에만 적용됩니다.

 


다음 표에서는 DENSITY_VECTOR를 지정한 경우 결과 집합에 반환되는 열을 설명합니다.


열 이름  설명  

All density 

 인덱스 열 접두사 집합의 선택도입니다(자주 사용함).

 

Average length 

 인덱스 열 접두사 집합의 평균 길이입니다.

 

Columns 

 All density 및 Average length가 표시되는 인덱스 열 접두사의 이름입니다.

 


다음 표에서는 HISTOGRAM 옵션을 지정한 경우 결과 집합에 반환된 열을 설명합니다.


열 이름  설명  

RANGE_HI_KEY 

 히스토그램 단계의 상한 값입니다.

 

RANGE_ROWS 

 상한을 제외한 히스토그램 단계 내에 있는 테이블의 예상 행 수입니다.

 

EQ_ROWS 

 히스토그램 단계의 상한과 값이 같은 테이블의 예상 행 수입니다.

 

DISTINCT_RANGE_ROWS 

 상한을 제외한 히스토그램 단계 내에 있는 고유한 예상 값 수입니다.

 

AVG_RANGE_ROWS 

 상한을 제외한 히스토그램 단계 내에 있는 중복 값의 평균 수입니다(DISTINCT_RANGE_ROWS > 0인 경우 RANGE_ROWS / DISTINCT_RANGE_ROWS).

 


사용 권한

사용자는 테이블의 소유자이거나 sysadmin 고정 서버 역할, db_owner 고정 데이터베이스 역할 또는 db_ddladmin 고정 데이터베이스 역할의 멤버여야 합니다.


다음 예에서는 Person.Address 테이블의 AK_Product_Name 인덱스에 대한 통계 정보를 표시합니다.


 코드 복사 

USE AdventureWorks;

GO

DBCC SHOW_STATISTICS ('Person.Address', AK_Address_rowguid);

GO

 


DBCC SHOW_STATISTICS ('UBCare_BasicInfo', KIMSCode);

GO





출처 : MSDN

Posted by 요지
,