DB Index 에 대해서

2025. 2. 25. 14:49

들어가기 전에


데이터 베이스에서 조회 성능을 높일 수 있는 방법 중 하나인 DB Index 에 대해서
알아보려고 한다. 간략한 개념부터 실제 실행해본 내용까지
여러 글에 걸쳐서 적을 계획이다.

이번에는 인덱스가 무엇인지?
인덱스의 장단점에 대해서 적어보고
정리해보자!

 

Index?


우선 Index 란 무엇일까?
우리가 흔히 Index 라는 단어를 어디에서 볼 수 있는지 생각해보면
책의 목차를 생각할 것이다.
책의 목차의 목적은 책에 어떤 것들이 있는지 알려주고
해당 내용이 어느 위치에 알려줄 수 있는지 빠르게 찾기 위해서 사용한다.
DB 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 가 어떤 형태로 저장되는지에 대해서 알아보려고 한다.