다음을 통해 공유


sp_statistics(Transact-SQL)

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

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

sp_statistics [ @table_name = ] 'table_name'  
          [ , [ @table_owner = ] 'owner' ] 
     [ , [ @table_qualifier = ] 'qualifier' ] 
          [ , [ @index_name = ] 'index_name' ] 
     [ , [ @is_unique = ] 'is_unique' ]
     [ , [ @accuracy = ] 'accuracy' ]

인수

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

  • [ @table_owner= ] 'owner'
    카탈로그 정보를 반환하는 데 사용하는 테이블의 소유자 이름입니다. table_owner는 sysname이며 기본값은 NULL입니다. 와일드카드 패턴 일치는 지원되지 않습니다. owner를 지정하지 않은 경우 기본 DBMS의 기본 테이블 표시 규칙이 적용됩니다.

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

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

  • [ @index_name= ] 'index_name'
    인덱스 이름입니다. index_name은 sysname이며 기본값은 %입니다. 와일드카드 패턴 일치가 지원됩니다.

  • [ @is_unique= ] 'is_unique'
    고유 인덱스(Y인 경우)만 반환할 것인지 여부입니다. is_unique는 char(1)이며 기본값은 N입니다.

  • [ @accuracy= ] 'accuracy'
    통계에 대한 카디널리티 및 페이지 정확도 수준입니다. accuracy는 char(1)이며 기본값은 Q입니다. 통계가 업데이트되어 카디널리티와 페이지가 정확한지 보려면 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

NOT 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는 값을 반환하지 않습니다.

반환 코드 값

없음

주의

결과 집합의 인덱스는 NON_UNIQUE, TYPE, INDEX_NAMESEQ_IN_INDEX 열에 의해 오름차순으로 표시됩니다.

클러스터형 인덱스 유형은 테이블 데이터가 그 안에서 인덱스 순서로 저장된 인덱스를 의미합니다. 이는 SQL Server클러스터형 인덱스에 해당됩니다.

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

sp_statistics는 ODBC의 SQLStatistics와 동일합니다. 반환된 결과는 NON_UNIQUE, TYPE, INDEX_QUALIFIER, INDEX_NAMESEQ_IN_INDEX 순으로 정렬됩니다. 자세한 내용은 ODBC API 참조(ODBC API Reference)를 참조하십시오.

사용 권한

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