더북(TheBook)

04 | 인덱스

인덱스Index는 테이블에 있는 데이터를 빨리 찾기 위한 용도의 데이터베이스 객체다. 책을 볼 때 특정 내용을 빨리 찾기 위해 맨 뒤에 있는 찾아보기 항목을 사용해 본 적이 있을 텐데, 이 찾아보기 부분이 인덱스라고 생각하면 된다. 그 특성에 따라 대표적인 인덱스를 분류하면 대략 다음과 같다.

인덱스 구성 컬럼 개수에 따른 분류: 단일 인덱스와 결합 인덱스

유일성 여부에 따른 분류: UNIQUE 인덱스, NON-UNIQUE 인덱스

인덱스 내부 구조에 따른 분류: B-tree 인덱스, 비트맵 인덱스, 함수 기반 인덱스

❶과 ❷는 인덱스 형태와 속성에 따른 분류이며, ❸은 구조와 내부 알고리즘에 따른 분류로 보면 된다. 이 외에도 해시 클러스터 인덱스, 리버스 키 인덱스, 비트맵 조인 인덱스, 도메인 인덱스, 파티션 인덱스가 있다. 앞으로 소개하는 인덱스에 관한 특성과 지침은 가장 일반적인 B-tree 인덱스를 위주로 설명할 것이다.

인덱스는 테이블에 있는 한 개 이상의 컬럼으로 만들 수 있다. 인덱스는 테이블에 있는 한 개 이상의 컬럼으로 만들 수 있다. 표준인 B-tree 인덱스는 인덱스 키(인덱스로 만들 테이블의 컬럼 값)와 이 키에 해당하는 컬럼 값을 가진 테이블의 로우가 저장된 주소 값으로 구성된다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.