반응형
# 인덱스 (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 |