테마
인덱스
원하는 행을 빨리 찾는 길. 디스크에서 데이터를 읽는 I/O(Input/Output, 입출력)를 줄이려고 만든다. 기본은 B-Tree 구조이고, 행을 PK(Primary Key, 기본 키) 순서로 저장하는 클러스터링 인덱스(clustered index), 중복을 막는 유니크 인덱스(unique index), 테이블 사이 참조를 지키는 외래 키(foreign key)가 실무와 면접의 단골이다.
학습 순서
- 디스크 I/O와 인덱스 — 랜덤 I/O(random I/O)를 줄이는 게 인덱스의 존재 이유 (면접 비중: 중간)
- B-Tree 구조와 키 변경 — 균형 트리 구조와 분할·병합 (면접 비중: 높음)
- B-Tree 활용 — 다중 칼럼·정렬·스캔 효율 (면접 비중: 높음)
- 클러스터링 인덱스 — PK 순서대로 데이터 저장 (면접 비중: 높음)
- 유니크 인덱스 — 중복 금지 + 세컨더리 특성 (면접 비중: 중간)
- 외래키와 잠금 대기 — 참조 무결성(referential integrity)과 대기 장면 (면접 비중: 중간)
- 특수 인덱스 — R-Tree·전문 검색(full-text search)·함수·멀티 밸류 인덱스(multi-valued index) (면접 비중: 낮음)
