[MariaDB] 인덱스
인덱스란?
SQL 데이터베이스에서 테이블의 검색 속도 향상시키기 위해 사용되는 데이터 구조
1) 인덱스 종류 및 생성
※ 테이블 생성 시 인덱스 생성 혹은 기존 테이블에 인덱스 추가/생성합니다.
※ 테이블 생성 시 PRIMARY KEY, FOREIGN KEY, UNIQUE 옵션 사용하면 해당 칼럼 자동으로 인덱스 생성됩니다.
(a) INDEX
CREATE INDEX index_name ON table_name(column_name);
(b) UNIQUE
CREATE UNIQUE INDEX index_name ON table_name(column_name);
(c) FULLTEXT
: 대량의 텍스트 데이터에서 키워드 검색을 빠르게 수행하는 데 유용
CREATE FULLTEXT INDEX index_name ON table_name(column_name);
(d) SPATIAL
: 지리적 데이터의 위치 기반 검색 빠르게 수행
(f) 복합 INDEX
CREATE INDEX index_name ON table_name(column_name1, column_name2);
2) 특정 테이블의 인덱스 조회
SHOW INDEX FROM table_name;
3) 인덱스 수정
(a) 특정 테이블에 인덱스 추가
ALTER TABLE table_name ADD INDEX index_name(column_name);
(b) 특정 테이블의 인덱스 삭제
ALTER TABLE table_name DROP INDEX index_name;
4) 인덱스 이름 변경
ALTER TABLE table_name ALTER INDEX idx_name RENAME TO new_idx_name;
5) 삭제
DROP INDEX index_name ON table_name;