SQL/MySQL

[MySQL튜닝]인덱스 관련 문법

스윗보스 2022. 10. 20. 15:00

 

MySQL에서 테이블에 어떤 인덱스가 있고, 인덱스를 생성하거나 제거할 때 어떤 문법으로 처리하는지 살펴보겠습니다.

 

1. 인덱스 확인하기

인덱스는 테이블에 종속적입니다. 아래와 같은 명령어로 해당 테이블에 어떤 인덱스가 있는지 확인할 수 있습니다.

SHOW INDEX FROM MYTUNDB.T_ORD_BIG;

 

2. 인덱스 생성하기

MySQL에서는 인덱스를 생성하는 두 가지 문법이 있습니다. 하나는 CREATE INDEX이고, 또다른 하나는 ALTER TABLE을 통해 테이블에 인덱스를 추가하는 방법입니다. 아래와 같습니다. (아마도 이미 인덱스가 있다면 생성이 안되고 에러가 나겠죠.)

# CREATE INDEX
CREATE INDEX T_ORD_BIG_X1 ON MYTUNDB.T_ORD_BIG(ORD_DT);

# ALTER TABLE로 인덱스 추가
ALTER TABLE MYTUNDB.T_ORD_BIG ADD INDEX T_ORD_BIG_X1(ORD_DT);

 

3. 인덱스 제거하기

인덱스를 제거하는 문법 역시 두 가지입니다. 아래와 같습니다.

# DROP INDEX
DROP INDEX T_ORD_BIG_X1 ON MYTUNDB.T_ORD_BIG;

# ALTER TABLE로 인덱스 제거
ALTER TABLE MYTUNDB.T_ORD_BIG DROP INDEX T_ORD_BIG_X1;

 

 

인덱스 관련된 자세한 문법은 아래 레퍼런스를 참고해주세요.

 

MySQL :: MySQL 8.0 Reference Manual :: 13.1.15 CREATE INDEX Statement

13.1.15 CREATE INDEX Statement CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name [index_type] ON tbl_name (key_part,...) [index_option] [algorithm_option | lock_option] ... key_part: {col_name [(length)] | (expr)} [ASC | DESC] index_option: { KEY_BLOC

dev.mysql.com

 

읽어주셔서 감사합니다.~!