본문 바로가기
DataBase

데이터베이스 인덱스 종류

by orioncsy 2022. 12. 21.

인덱스

- 추가적인 저장 공간을 활용해서 데이터베이스의 데이터를 탐색하는 속도를 높이기 위해 사용

인덱스 사용 목적

- 테이블의 다수 레코드들을 빠르게 검색하기 위해 사용

- 수정, 삭제, 생성은 성능 하락할 수도 있다.

인덱스 구조

클러스터 인덱스

- 테이블 당 1개의 컬럼만 설정 가능 ( 자동으로 해당 컬럼을 기준으로 정렬)

- 레코드를 인덱스에 맞춰 정렬

- primary key 생성 시 자동으로 생성되고 데이터 변경 시 항상 정렬 유지

- 클러스터 인덱스를 사용하면 모든 보조 인덱스가 primary key를 포함

 

비클러스터 인덱스

- 테이블 당 여러 개  칼럼 설정 가능

- 테이블 페이지를 정렬하지 않아서 더 많은 공간 차지

- 데이터 행과 분리된 구조

B-tree 알고리즘

- b-tree 자료구조를 이용한 인덱스

- root node, branch node, leaf node

- 노드의 각 key에 따라 데이터를 분류

- 각 노드마다 해당 키 값에 데이터 주소를 담고 있다.

B+tree 알고리즘

- leaf node에만 key와 data를 저장하고 leaf node는 linked list로 연결되어 있다.

 

Bitmap 알고리즘

- 종류가 적고 데이터가 많을 경우 사용

- 1 or 0으로 데이터를 표시

Hash 알고리즘

- 키 값을 해시로 값을 구해 버킷의 위치를 찾을 수 있는 인덱스 알고리즘

 

 

 

'DataBase' 카테고리의 다른 글

Redis & Memcached  (0) 2023.03.02
RDBMS & NoSQL  (0) 2023.03.01
Normalization  (0) 2023.02.28
Transaction  (0) 2023.02.27
Index  (0) 2023.02.26