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