데이터베이스에서 인덱스(Index)는 테이블의 데이터 검색을 빠르게 하기 위해 사용하는 자료구조입니다.
인덱스는 책의 목차처럼, 특정 데이터가 저장된 위치를 미리 알고 빠르게 접근할 수 있도록 돕습니다.
가장 일반적인 인덱스 구조는 B-Tree와 Hash입니다.
| 장점 | 단점 |
|---|---|
| 데이터를 빠르게 검색할 수 있음 | 데이터 삽입, 수정, 삭제 시 성능 저하 |
| 특정 열의 정렬된 결과를 효율적으로 가져올 수 있음 | 추가적인 저장 공간 필요 |
| 중복 데이터 제거 및 고유성(Unique) 보장 가능 | 너무 많은 인덱스는 오히려 성능을 저하시킬 수 있음 |
기본 인덱스(Primary Index):
보조 인덱스(Secondary Index):
유니크 인덱스(Unique Index):
복합 인덱스(Composite Index):
클러스터드 인덱스(Clustered Index):
넌클러스터드 인덱스(Non-Clustered Index):
CREATE INDEX user_name ON users(name);
CREATE UNIQUE INDEX email ON users(email);
DROP INDEX user_name;
인덱스는 데이터베이스의 검색 성능을 획기적으로 향상시키는 중요한 도구지만 잘못 사용하면 데이터 처리 속도를 저하시킬 수 있다는 점을 배웠습니다.다양한 인덱스의 종류와 사용 사례를 공부하며 적재적소에 인덱스를 활용하는 것이 중요하다고 느꼈습니다.