반응형

# 인덱스 (Index)

  • 데이터베이스에 저장된 데이터를 빠르게 조회하기 위해 테이블에 연관된 정보를 독립적인 저장 공간에 저장하는 객체.
  • 테이블의 특정 레코드의 위치를 알려주는 용도로 사용, 인덱스 데이터는 인덱스를 구성하는 컬럼의 정렬 순서에 따라 오름차순(ASC), 내림차순(DESC)로 정렬된다.
  • Unique Index의 경우 NULL 값이 포함될 수 없다.
  • 관계형 데이터베이스에서 가장 많이 사용되는 인덱스 : B-트리 인덱스
  • 오라클의 경우 물리적인 주소 정보로 내부적으로 ROWID 사용.

## 인덱스 장단점

인덱스 장점

  • Select (조회) 작업의 성능 최적화.

인덱스 단점

  • Insert (입력), Update (수정), Delete (삭제) 작업의 성능 저하. (인덱스 컬럼 이외의 데이터를 수정하는 Update 작업의 경우 성능 저하 발생하지 않음.)

## 인덱스 문법

  • DDL (데이터 정의어) 문을 사용하여 인덱스를 생성, 삭제, 변경할 수 있다.
  • 인덱스 힌트 사용 시 해당 테이블의 엑세스 방법에 대해 실행계획이 변경되지 않는다.

1. 인덱스 생성

CREATE [UNIQUE] INDEX 인덱스명 ON 테이블명(컬럼명);

2. 인덱스 삭제

DROP INDEX 인덱스명;

3. 인덱스 리빌드

ALTER INDEX 인덱스명 REBUILD;

## 인덱스의 유형

1. B-트리 인덱스 (Balanced Tree Index)

  • 루트 블록부터 리프 블록까지 거리가 일정한 트리 구조를 가진 인덱스.
  • 구성 : 루트 블록, 브랜치 블록, 리프 블록
  • 리프 블록 : 테이블 데이터에 대한 ROWID가 저장, 양방향 링크를 갖고 있어 오름차순, 내림차순 검색을 쉽게 할 수 있다.
  • 일치 및 범위 검색에 적절한 구조.

2. 비트맵 인덱스 (Bitmap Index)

  • 비트를 이용하여 컬럼 값 저장하고 비트맵을 구성.
  • 리프 노드 : 킷 값에 대한 비트맵 저장.
  • 장점 : 컬럼의 Distinct Value 개수가 작을 때 사용하면 저장 효율이 매우 높다.
  • 단점 : Lock에 의한 DML 부하가 심해 OLTP 환경에서 사용하기 어려움.
  • 읽기 위주의 대용량 DW, OLAP 환경에 적합.

반응형

'자격증 > SQLD & SQLP 자격증' 카테고리의 다른 글

정보 요구사항의 유형  (0) 2022.05.26
표준 조인  (0) 2022.05.25
윈도우 함수  (0) 2022.05.22
FUNCTION (함수, 내장 함수, 사용자 정의 함수)  (0) 2022.05.21
시스템 권한, 오브젝트 권한  (0) 2022.05.19

+ Recent posts