DB Index 에 대해서
2025. 2. 25. 14:49
들어가기 전에
데이터 베이스에서 조회 성능을 높일 수 있는 방법 중 하나인 DB Index 에 대해서
알아보려고 한다. 간략한 개념부터 실제 실행해본 내용까지
여러 글에 걸쳐서 적을 계획이다.
이번에는 인덱스가 무엇인지?
인덱스의 장단점에 대해서 적어보고
정리해보자!
Index?
우선 Index 란 무엇일까?
우리가 흔히 Index 라는 단어를 어디에서 볼 수 있는지 생각해보면

책의 목차의 목적은 책에 어떤 것들이 있는지 알려주고
해당 내용이 어느 위치에 알려줄 수 있는지 빠르게 찾기 위해서 사용한다.
DB Index 도 마찬가지다.
DB Index?

데이터 베이스 조회 성능을 높이기 위한 데이터 구조로서
DB Index 를 생성하면
특정 열에 대한 포인터와 정렬된 데이터 구조를 유지하여
원하는 데이터를 빠르게 데이터를 찾을 수 있다.
이처럼 조회 성능을 향상 시키는 것이 주된 목적이다.
하지만 인덱스는 별도의 저장 공간을 차지하며
데이터를 삽입 ( Insert ) , 수정 ( Update ) , 삭제 ( Delete ) 할 때,
Index 역시 함께 갱신해야함으로 성능 저하가 발생할 수 있다.
그러므로 적절한 인덱스 활용이 중요하다.
DB Index 의 장단점
장점
조회 성능이 개선
➔ 정렬된 구조와 포인터를 활용해 빠르게 검색 가능
중복 데이터 방지
➔ UNIQUE 인덱스로 동일한 값 삽입 차단
연산 성능 향상 (WHERE, JOIN, GROUP BY)
- WHERE ➔ INDEX SCAN으로 빠른 검색
- JOIN ➔ 조인 키 인덱스 적용 시 빠른 매칭
- GROUP BY ➔ 정렬된 인덱스 활용으로 성능 향상
단점
저장 공간이 증가
➔ 인덱스는 별도의 데이터 구조를 사용하기 때문에 디스크 공간이 필요
쓰기 성능 저하
➔ INSERT, UPDATE, DELETE 작업이 발생할 때마다 인덱스도 같이 갱신해야해서 성능이 떨어짐
과도한 인덱스 생성 시 오버헤드 발생
➔인덱스가 많으면 쿼리 실행 시 인덱스 선택 비용이 증가하며 인덱스를 선택하는 데 시간이 더 소요 된다.
정리해 보면
DB Index 는 조회 성능을 높이기 위해 사용하는 데이터 구조로써,
조회 성능이 크게 개선되지만,
새로운 데이터 구조를 저장해서 사용하기 때문에 추가적인 저장공간이 필요하며
데이터 수정이 빈번하게 일어나는 경우 성능 저하가 일어날 수 있다.
따라서 데이터의 형태 및 빈도에 따라 DB Index 를 설정하는 것을 고려하는 것이 좋다.
이제 DB Index 가 어떤 형태로 저장되는지에 대해서 알아보려고 한다.