Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 테이블에서 UNIQUE 제약 조건으로 생성된 인덱스 확인 방법

MySQL 테이블에서 UNIQUE 제약 조건에 의해 자동으로 생성된 인덱스를 확인하려면 SHOW INDEX 문을 사용하면 됩니다. 이 문장은 지정한 테이블에 존재하는 모든 인덱스의 상세 정보를 보여주므로, UNIQUE 제약 조건으로 만들어진 인덱스도 함께 확인할 수 있습니다.

구문

SHOW INDEX FROM table_name;

예제

'empl'이라는 테이블이 있고, 'empno' 컬럼에 UNIQUE 제약 조건이 설정되어 있다고 가정해 보겠습니다.

mysql> describe empl;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| empno  | int(11)     | YES  | UNI | NULL    |       |
| F_name | varchar(20) | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
2 rows in set (0.23 sec)

위 결과에서 'Key' 항목이 UNI로 표시된 것을 볼 수 있는데, 이는 해당 컬럼에 UNIQUE 제약 조건이 걸려 있다는 의미입니다. UNIQUE 제약 조건은 내부적으로 인덱스를 생성하며, 다음 쿼리로 그 인덱스를 확인할 수 있습니다.

mysql> Show Index from empl\G
*************************** 1. row ***************************
        Table: empl
   Non_unique: 0
     Key_name: empno
 Seq_in_index: 1
  Column_name: empno
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: YES
   Index_type: BTREE
      Comment:
Index_comment:
1 row in set (0.02 sec)

결과 해석

위 결과 집합에서 주요 항목은 다음과 같이 해석할 수 있습니다.

  • key_name: 생성된 인덱스의 이름을 나타냅니다. 여기서는 컬럼명인 'empno'가 인덱스 이름으로 사용되었습니다.
  • column_name: 해당 인덱스가 적용된 컬럼의 이름입니다.
  • Non_unique: 값이 0이면 중복을 허용하지 않는 유니크 인덱스라는 뜻입니다.
  • Index_type: 인덱스의 자료 구조 유형을 나타내며, 일반적으로 BTREE 방식이 사용됩니다.

이처럼 SHOW INDEX 문을 활용하면 UNIQUE 제약 조건에 의해 자동 생성된 인덱스뿐만 아니라 테이블의 모든 인덱스 정보를 손쉽게 파악할 수 있습니다.