IT 지식/데이터베이스(DB Database)

[DB] Database 요약 & 정리 index 인덱스

나아가는중 2022. 1. 22. 17:37
반응형

인덱스는 데이터 조회(SELECT) 시 빠르게 접근하도록 도와주는 역할을 합니다.

인덱스의 존재 유무에 상관없이 데이터 조회의 결과는 동일하지만, 조회 속도를 향상할 수 있습니다.

 

책에서 목차가 인덱스에 해당한다고 생각하면 됩니다.

책의 목차를 통해 책에서 원하는 페이지를 빠르게 찾을 수 있습니다.

 

인덱스를 잘 사용하면 효과적이지만, 반대로 잘못 설계한다면 성능을 떨어뜨릴 수도 있습니다.

예를 들어, 동일한 데이터가 많이 존재하며 분산되어 있는 경우, 데이터 조회 시 인덱스 테이블에서 검색을 하는 것이 성능이 더 느릴 수도 있습니다.

또한, 데이터의 변경 작업이 자주 일어날 경우, 인덱스를 사용하는 것이 성능을 떨어뜨릴 수도 있습니다.

 

인덱스는 처음 생성하는데 많은 시간이 소요될 수 있습니다.

인덱스를 저장하기 위한 공간이 필요합니다. 보통 데이터베이스의 10%가 필요합니다.

 

인덱스는 크게 클러스터형 인덱스(Clustered Index)와 보조 인덱스(Secondary Index)로 나뉩니다.

 

클러스터형 인덱스(Clustered Index)

  • 테이블당 한 개만 생성이 가능합니다.
  • 데이터를 인덱스로 지정한 필드에 맞춰서 자동 정렬합니다.
  • 기본 키(Primary Key)로 지정한 필드에 대해 클러스터형 인덱스가 자동으로 생성됩니다.
  • 인덱스 테이블의 key_name 필드가 PRIMARY로 생성됩니다.
  • 예시) 영어사전

 

보조 인덱스(Secondary Index)

  • 테이블당 여러 개를 생성할 수 있습니다.
  • Unique 속성으로 지정한 필드에 대해 보조 인덱스가 자동으로 생성됩니다.
  • 인덱스 테이블의 key_name 필드가 필드 이름으로 생성됩니다.
  • 예시) 책의 목차
반응형