반응형
1. 검색 연산 최적화를 위한, 인덱스의 개요
개념도 | ![]() |
|
개념 | - 데이터 검색 시 테이블 전체 검색하지 않고, 정렬된 키 값에 접근하여 빠른 탐색을 수행하는 자료구조 | |
특징 (PATI) |
성능 향상 (Performance Improvement) |
트랜잭션의 조회 성능 향상 목적 |
알고리즘 (Algorithm) |
Tree 구조, Hash 함수 적용 | |
트레이드 오프 (Trade-Off) |
조회와 입력, 수정, 삭제 간 성능 균형 고려 | |
독립성 (Isolation) |
테이블에 저장구조와 별도로 인덱스만 저장 |
2. 인덱스 스캔 방식
스캔 방식 | 개념도 | 설명 |
Index Unique Scan | ![]() |
- PK 또는 Unique 제약조건이 보장된 컬럼에서 1건 검색 - 가장 빠른 장식 |
Index Range Scan | ![]() |
- 조건 범위에 해당하는 인덱스 값들 검색 - Between, >, < 범위 검색 |
Index Full Scan | ![]() |
- 인덱스 전체를 처음부터 끝까지 스캔 - 정렬된 인덱스 순서대로 읽어 검색 |
Index Fast Full Scan | ![]() |
- 데이터의 물리적 저장 구조로 받아와 Multi-Block Read 수행하여 스캔 |
Index Skip Scan | ![]() |
- 조건에 맞는 인덱스 스캔 후 필요없는 부분 건너뛰는 방식으로 스캔 |
3. 인덱스 종류
인덱스 종류 | 개념도 | 설명 |
B-Tree 인덱스 | ![]() |
- 일반적인 균형 이진트리 기반 인덱스 - 대부분의 질의에 적합 |
비트맵 인덱스 | ![]() |
- 값의 종류 적은 컬럼에 대해 비트맵 표현 - 성별, 지역 등 저카디널리티 |
함수 기반 인덱스 | ![]() |
- 컬럼에 함수 결과에 인덱스 생성 - 함수 포함 WHERE절 유리 |
Clustered 인덱스 | ![]() |
- 데이터 전체가 정렬된 인덱스 방식 - MySQL InnoDB 기본 PK 인덱스 |
Non-Clustered 인덱스 | ![]() |
- 보조 인덱스, 테이블 정렬하지 않고 정렬된 별도의 인덱스 페이지 생성 및 관리 |
반응형
'IT 기술 > DB' 카테고리의 다른 글
데이터베이스 트랜잭션 회복 기법 (0) | 2025.04.09 |
---|---|
빅데이터 시각화 (0) | 2025.04.09 |
아파치 카프카 (0) | 2025.04.09 |
CDC (Change Data Capture) (0) | 2025.04.09 |
DB 백업의 필요성과 유형 (0) | 2025.04.09 |