개발/DB

[DB] Index(인덱스) 란?

소금집사 2024. 1. 8. 10:35
반응형

데이터베이스 인덱스는 데이터 검색 작업의 속도를 향상시키는 구조로, 빠른 무작위 조회와 효율적인 정렬된 레코드 접근을 제공합니다.

인덱스는 모든 행을 검색하지 않고도 데이터를 찾아내며, 이는 선택한 데이터 열의 복사본을 통해 가능합니다. 이 복사본은 원래 데이터 행으로의 '키' 또는 직접 링크가 포함되어 있습니다.

인덱스는 쿼리 응답 시간을 줄이는데 도움이 되지만, 없어도 데이터베이스는 작동합니다. 각 인덱스는 테이블과 연관되어 있으며, 키는 하나 이상의 테이블 열로 구성됩니다.

간단히 말해서, 인덱스는 쿼리 속도를 향상시키는 도구로, 테이블의 데이터를 가리키는 포인터 역할을 합니다.

(https://www.codecademy.com/article/sql-indexes)

Types of index

  1. 클러스터드 인덱스(Clustered Index): 테이블의 물리적인 순서를 결정하며, 테이블당 하나만 생성 가능합니다.
  2. 비클러스터드 인덱스(Non-clustered Index): 데이터의 물리적인 위치와 상관없이 논리적인 순서를 제공하며, 테이블당 여러 개를 생성 가능합니다.
  3. 다중 레벨 인덱스(Multi-Level Index): 대량의 데이터 처리에 유용하며, 인덱스의 크기를 줄이기 위해 사용됩니다.
  4. 비트맵 인덱스(Bitmap Index): 각 행에 대한 비트맵을 사용하여 데이터를 인덱싱하며, 주로 데이터 웨어하우스 환경에서 사용됩니다.
  5. 해시 인덱스(Hash Index): 해시 함수를 사용하여 데이터를 인덱싱하며, 주로 메모리 기반 데이터베이스에서 사용됩니다.
  6. B-트리 인덱스(B-tree Index): 트리 구조를 사용하여 데이터를 인덱싱하며, 대부분의 관계형 데이터베이스 시스템에서 기본 인덱스 유형으로 사용됩니다.
  7. 기본 인덱스(Primary Index): 주 키를 기반으로 생성되며, 테이블당 하나만 생성 가능합니다.
  8. 보조 인덱스(Secondary Index): 주 키가 아닌 다른 열을 기반으로 생성됩니다.
반응형