sp_createstats(Transact-SQL)
CREATE STATISTICS 문을 호출하여 통계 개체의 첫 번째 열이 아닌 열에 대한 단일 열 통계를 만듭니다. 단일 열 통계를 만들면 히스토그램의 수가 늘어나며 이에 따라 카디널리티 예상치, 쿼리 계획 및 쿼리 성능이 향상될 수 있습니다. 히스토그램은 통계 개체의 첫 번째 열에 있으며 다른 열에는 없습니다.
sp_createstats는 쿼리 실행 시간이 중요하며 쿼리 최적화 프로그램에서 단일 열 통계를 생성할 때까지 기다릴 수 없는 경우, 즉 벤치마킹 등과 같은 응용 프로그램에 유용합니다. 대부분의 경우에는 sp_createstats를 사용할 필요가 없습니다. AUTO_CREATE_STATISTICS 옵션을 설정하면 쿼리 최적화 프로그램에서 필요 시 단일 열 통계를 생성하여 쿼리 계획을 향상시킵니다.
통계에 대한 자세한 내용은 통계를 사용하여 쿼리 성능 향상을 참조하십시오. 단일 열 통계 생성에 대한 자세한 내용은 ALTER DATABASE SET 옵션(Transact-SQL)의 AUTO_CREATE_STATISTICS 옵션을 참조하십시오.
구문
sp_createstats [ [ @indexonly = ] 'indexonly' ]
[ , [ @fullscan = ] 'fullscan' ]
[ , [ @norecompute = ] 'norecompute' ]
인수
[ @indexonly= ] 'indexonly'
기존 인덱스에 있으며 인덱스 정의의 첫 번째 열이 아닌 열에 대해서만 통계를 만듭니다. indexonly는 char(9)입니다. 기본값은 NO입니다.[ @fullscan= ] 'fullscan'
CREATE STATISTICS 문을 FULLSCAN 옵션과 함께 사용합니다. fullscan은 char(9)입니다. 기본값은 NO입니다.[ @norecompute= ] 'norecompute'
CREATE STATISTICS 문을 NORECOMPUTE 옵션과 함께 사용합니다. norecompute는 char(12)입니다. 기본값은 NO입니다.
반환 코드 값
0(성공) 또는 1(실패)
결과 집합
새로운 각 통계 개체는 해당 통계가 만들어진 열과 동일한 이름을 갖습니다.
주의
sp_createstats는 기존 통계 개체의 첫 번째 열에 대해서는 통계를 만들거나 업데이트하지 않습니다. 여기에는 인덱스에 대해 만들어진 통계의 첫 번째 열, AUTO_CREATE_STATISTICS 옵션을 통해 생성된 단일 열을 포함하는 열, CREATE STATISTICS 문을 통해 만들어진 통계의 첫 번째 열이 포함됩니다. sp_createstats는 비활성화된 인덱스의 첫 번째 열이 활성화된 다른 인덱스에 사용되지 않는 한 해당 열에 대한 통계를 만들지 않습니다. sp_createstats는 비활성화된 클러스터형 인덱스를 포함하는 테이블에 대한 통계를 만들지 않습니다.
테이블에 열이 하나인 경우 sp_createstats는 스파스 열에 대한 통계를 만들지 않습니다. 열 집합 및 스파스 열에 대한 자세한 내용은 열 집합 사용 및 스파스 열 사용을 참조하십시오.
사용 권한
db_owner 고정 데이터베이스 역할의 멤버 자격이 필요합니다.
예
1. 적합한 모든 열에 대한 단일 열 통계 만들기
다음 예에서는 현재 데이터베이스에 있는 적합한 모든 열에 대한 단일 열 통계를 만듭니다.
EXEC sp_createstats;
GO
2. 적합한 모든 인덱스 열에 대한 단일 열 통계 만들기
다음 예에서는 인덱스에 있으며 인덱스의 첫 번째 열이 아닌, 적합한 모든 열에 대한 단일 열 통계를 만듭니다.
EXEC sp_createstats 'indexonly';
GO