본문 바로가기
MySQL MariaDB/DB,Table 정보

MySQL / MariaDB. information_schema.STATISTICS. 인덱스 정보 조회.

by 쑤- IT, MySQL, MariaDB, DBeaver 2021. 8. 5.

STATISTICS 테이블은 테이블 인덱스에 대한 정보를 제공

 

TABLE_CATALOG 항상 def.
TABLE_SCHEMA 데이터베이스 이름.
TABLE_NAME 테이블 이름
NON_UNIQUE 1: 인덱스에 중복 가능.    0 : 중복 불가.
INDEX_SCHEMA 데이터베이스 이름.
INDEX_NAME 인덱스 이름. 기본 키 default : PRIMARY
SEQ_IN_INDEX 1부터 시작하는 열 시퀀스 번호
COLUMN_NAME 열 이름.
COLLATION A : 오름차순으로 정렬.   NULL : 정렬되지 않은 경우.
CARDINALITY 정수로 저장된 통계를 기반으로 인덱스에 저장된 고유 값의 수를 추정. 
카디널리티가 높을수록 일반적으로 조인에서 인덱스가 사용될 가능성이 높아짐. 
SUB_PART NULL : 전체 열이 인덱싱된 경우,  인덱싱된 문자의 수 : 부분적으로 인덱싱된 경우.
PACKED NULL :  패킹되지 않은 경우.  인덱스가 패킹되는 방식.
NULLABLE YES :  열에 NULL이 포함될 수 있음.    " " 
INDEX_TYPE 인덱스 유형 중 하나 BTREE, RTREE, HASH또는 FULLTEXT. 
COMMENT CREATE INDEX  에서 주석을 인덱싱.
IGNORED 옵티마이저가 인덱스를 무시할지 여부.

 

#--- index 목록 조회
SELECT
    table_schema

   , table_name

  , seq_in_index
  , index_name

  , non_unique  --- 1: 인덱스에 중복 가능.    0 : 중복 불가.

  , seq_in_index  --- 1부터 시작하는 열 시퀀스 번호
  , collation  --- A : 오름차순으로 정렬.   NULL : 정렬되지 않은 경우.
  , column_name
  , cardinality

  , sub_part  --- NULL :  전체 열이 인덱싱된 경우.  인덱싱된 문자의 수 : 부분적으로 인덱싱된 경우

  , nullable  --- YES :  열에 NULL이 포함될 수 있음.
FROM
  information_schema.STATISTICS
ORDER BY 1  , 2  , 3; 

 

https://mariadb.com/kb/en/information-schema-statistics-table/

댓글