여러가지/DBMS

[MariaDB] 인덱스

15June 2024. 5. 27. 14:27

인덱스란?

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;