다음을 통해 공유


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 옵션을 참조하세요.

Transact-SQL 구문 표기 규칙

구문

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