다음을 통해 공유


sp_statistics(Transact-SQL)

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

지정된 테이블 또는 인덱싱된 뷰의 모든 인덱스 및 통계 목록을 반환합니다.

Transact-SQL 구문 표기 규칙

Syntax

sp_statistics
    [ @table_name = ] N'table_name'
    [ , [ @table_owner = ] N'table_owner' ]
    [ , [ @table_qualifier = ] N'table_qualifier' ]
    [ , [ @index_name = ] N'index_name' ]
    [ , [ @is_unique = ] 'is_unique' ]
    [ , [ @accuracy = ] 'accuracy' ]
[ ; ]

참고

이 구문은 Azure Synapse Analytics의 서버리스 SQL 풀에서 지원되지 않습니다.

인수

[ @table_name = ] N'table_name'

카탈로그 정보를 반환하는 데 사용되는 테이블을 지정합니다. @table_name 기본값이 없는 sysname입니다. 와일드카드 패턴 일치는 지원되지 않습니다.

[ @table_owner = ] N'table_owner'

카탈로그 정보를 반환하는 데 사용되는 테이블의 테이블 소유자 이름입니다. @table_owner sysname이며 기본값은 .입니다NULL. 와일드카드 패턴 일치는 지원되지 않습니다. 지정하지 않으면 owner 기본 DBMS(데이터베이스 관리 시스템)의 기본 테이블 표시 유형 규칙이 적용됩니다.

SQL Server에서 현재 사용자가 지정된 이름의 테이블을 소유하는 경우 해당 테이블의 인덱스가 반환됩니다. 지정하지 않고 현재 사용자가 지정된 name테이블을 소유하지 않는 경우 owner 이 절차에서는 데이터베이스 소유자가 소유한 테이블을 name 찾습니다. 테이블이 있으면 해당 테이블의 인덱스가 반환됩니다.

[ @table_qualifier = ] N'table_qualifier'

테이블 한정자의 이름입니다. @table_qualifier sysname이며 기본값은 .입니다NULL. 다양한 DBMS 제품은 테이블(<qualifier>.<owner>.<name>)에 대해 세 부분으로 구성된 명명을 지원합니다. SQL Server에서 이 매개 변수는 데이터베이스 이름을 나타냅니다. 일부 제품에서는 테이블 데이터베이스 환경의 서버 이름을 나타냅니다.

[ @index_name = ] N'index_name'

인덱스 이름입니다. @index_name 기본값%인 sysname입니다. 와일드카드 패턴 일치가 지원됩니다.

[ @is_unique = ] 'is_unique'

고유 인덱스(if Y)만 반환할지 여부입니다. @is_unique char(1)이며 기본값은 빈 문자열입니다.

[ @accuracy = ] '정확도'

통계에 대한 카디널리티 및 페이지 정확도 수준입니다. @accuracy 기본값Q인 char(1)입니다. 카디널리티와 페이지가 정확하도록 통계가 업데이트되도록 지정 E 합니다.

  • E (SQL_ENSURE) 드라이버에 무조건 통계를 검색하도록 요청합니다.

  • Q (SQL_QUICK) 서버에서 쉽게 사용할 수 있는 경우에만 드라이버에 카디널리티 및 페이지를 검색하도록 요청합니다. 이 경우 드라이버는 값이 최신인지 확인하지 않습니다. Open Group 표준에 기록된 애플리케이션은 항상 ODBC 3.x 규격 드라이버에서 동작을 가져옵니다 SQL_QUICK .

결과 집합

열 이름 데이터 형식 설명
TABLE_QUALIFIER sysname 테이블 한정자 이름입니다. 이 열은 .일 NULL수 있습니다.
TABLE_OWNER sysname 테이블 소유자 이름입니다. 이 열은 항상 값을 반환합니다.
TABLE_NAME sysname 테이블 이름입니다. 이 열은 항상 값을 반환합니다.
NON_UNIQUE smallint Null을 허용하지 않습니다.

0 = 고유
1 = 고유하지 않음
INDEX_QUALIFIER sysname 인덱스 소유자 이름입니다. 일부 DBMS 제품은 테이블 소유자 이외의 사용자가 인덱스를 만들 수 있도록 허용합니다. SQL Server에서 이 열은 항상 TABLE_NAME.
INDEX_NAME sysname 인덱스의 이름입니다. 이 열은 항상 값을 반환합니다.
TYPE smallint 이 열은 항상 값을 반환합니다.

0 = 테이블에 대한 통계
1 = 클러스터형
2 = 해시됨
3 = 비클러스터형
SEQ_IN_INDEX smallint 인덱스 내의 열 위치입니다.
COLUMN_NAME sysname 반환된 각 열의 TABLE_NAME 열 이름입니다. 이 열은 항상 값을 반환합니다.
COLLATION char(1) 데이터 정렬에 사용되는 순서입니다. 다음이 될 수 있습니다.

A = 오름차순
D = 내림차순
NULL = 해당 없음
CARDINALITY int 테이블의 행 수 또는 인덱스의 고유 값입니다.
PAGES int 인덱스 또는 테이블을 저장할 페이지 수입니다.
FILTER_CONDITION varchar(128) SQL Server는 값을 반환하지 않습니다.

반환 코드 값

없음.

설명

결과 집합의 인덱스는 열, TYPEINDEX_NAMESEQ_IN_INDEXNON_UNIQUE에 따라 오름차순으로 표시됩니다.

클러스터형 인덱스 형식은 테이블 데이터가 인덱스 순서대로 저장되는 인덱스를 나타냅니다. 이 값은 SQL Server 클러스터형 인덱스에 해당합니다.

인덱스 형식 해시는 정확한 일치 또는 범위 검색을 허용하지만 패턴 일치 검색은 인덱스를 사용하지 않습니다.

sp_statistics 시스템 저장 프로시저는 ODBC와 동일합니다SQLStatistics. 반환된 결과는 , TYPE, INDEX_QUALIFIERINDEX_NAMESEQ_IN_INDEX.로 NON_UNIQUE정렬됩니다. 자세한 내용은 ODBC 참조를 참조하세요.

사용 권한

스키마에 SELECT 대한 권한이 필요합니다.

예: Azure Synapse Analytics 및 Analytics Platform System(PDW)

다음 예제에서는 샘플 데이터베이스에서 DimEmployee 테이블에 대한 정보를 반환합니다 AdventureWorks .

EXEC sp_statistics DimEmployee;