CS/데이터베이스

데이터베이스 인덱스(Index)

koka 2025. 3. 21. 16:53

인덱스(index)란?

  • 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조
  • 책에서 원하는 내용을 찾기 위한 책의 색인(목차)와 데이터베이스의 index는 같다.

 

인덱스의 특징

  • 테이블을 조회하는 속도와 그에 따른 성능을 향상된다.
  • 전반적인 시스템의 부하를 줄어든다.
  • 인덱스를 관리하기 위해 DB의 약 10%에 해당하는 저장공간이 따로 필요하다.
  • 인덱스를 관리하기 위해 추가 작업이 필요하다.
  • 인덱스를 잘못 사용할 경우 오히려 성능이 저하되는 역효과가 발생할 수 있다.
  • CREATE,DELETE,UPDATE 등이 빈번한 속성에 인덱스를 걸면 오히려 성능이 저하된다.

인덱스(index)를 사용하면 좋은 경우

  • 규모가 작지 않은 테이블
  • INSERT, UPDATE, DELETE가 자주 발생하지 않는 컬럼
  • JOIN ORDER BY에 자주 사용되는 컬럼
  • 데이터의 중복도가 낮은 컬럼