Learning
토픽 215 / 224·비교표

인덱스 및 쿼리 최적화

B-Tree vs Hash vs Bitmap 인덱스

항목B-TreeHashBitmap
검색 유형동등+범위동등만(O(1))다중 조건
카디널리티고카디널리티고카디널리티저카디널리티
적합OLTP(범용)키-값 조회OLAP/DW
DML 효율보통보통비효율

B+Tree vs B-Tree

항목B+TreeB-Tree
데이터 저장리프 노드에만모든 노드
리프 연결Linked List 연결미연결
범위 검색리프 순차 스캔(효율)트리 재탐색 필요
Fan-out더 많은 키 저장 가능데이터 포함으로 적음

B-Tree vs Full-Text 인덱스

항목B-Tree 인덱스Full-Text 인덱스
검색 유형정확 매칭, 범위, 접두어자연어, 구문, 유사도
구조트리 구조역색인(Inverted Index)
LIKE '%검색%'Full Scan(비효율)인덱스 활용(고효율)
적용정형 데이터비정형 텍스트

클러스터드 vs 논클러스터드 인덱스

항목클러스터드논클러스터드
물리 정렬인덱스 키 순서 정렬데이터 원래 순서
개수테이블당 1개여러 개 가능
범위 검색매우 효율(Sequential I/O)Random I/O
접근 방식데이터 직접 접근ROWID 참조 후 접근

정적 해싱 vs 확장성 해싱 vs 선형 해싱

항목정적 해싱확장성 해싱선형 해싱
버킷 수고정동적(2배 확장)순차 분할
오버플로우체인 발생없음허용
검색 성능저하 가능O(1) 유지O(1) 유사
메모리적음디렉토리 오버헤드절약

B-Tree vs R-Tree(다차원 색인)

항목B-TreeR-Tree
키 차원1차원다차원
검색 유형범위/동등 검색공간 질의(교차, 최근접)
적용범용 DBMS공간 DB(PostGIS, Oracle Spatial)

RBO vs CBO 옵티마이저

항목RBO(규칙 기반)CBO(비용 기반)
결정 기준고정 규칙/우선순위통계 기반 비용 추정
통계 활용미사용활용
정확도낮음(고정적)높음(동적)
상태레거시현대 DBMS 표준

B-Tree vs Learned Index

항목B-TreeLearned Index
구조트리 기반 노드 탐색ML 모델 기반 위치 예측
메모리노드 포인터 오버헤드모델 파라미터만(최대 70% 절감)
갱신실시간 반영모델 재학습 필요
적합읽기/쓰기 혼합읽기 중심(OLAP, 분석)

조인 알고리즘: NL Join vs Hash Join vs Sort Merge Join

항목Nested Loop JoinHash JoinSort Merge Join
적합 조건소량, 인덱스 존재대용량 동등 조인대용량 범위/비동등
시간복잡도O(N×logM) 인덱스 시O(N+M)O(NlogN+MlogM)
인덱스 의존높음낮음낮음
메모리적음많음(해시 테이블)중간(정렬 버퍼)
조인 조건모든 조건동등(=)만모든 조건

Semi Join vs Anti Join vs Inner Join

항목Semi JoinAnti JoinInner Join
반환외부 테이블 행만미매칭 외부 행만양쪽 컬럼 모두
SQLEXISTS, INNOT EXISTS, NOT INJOIN ON
특징매칭 즉시 중단불일치 필터전체 매칭

B-Tree 인덱스 vs Full-Text 인덱스

구분B-Tree 인덱스Full-Text 인덱스
검색 유형정확 매칭, 범위, 접두어자연어, 구문, 유사도
구조트리 구조역색인(Inverted Index)
LIKE '%검색%'Full Scan (비효율)인덱스 활용 (고효율)
적용정형 데이터비정형 텍스트

Nested Loop Join vs Hash Join vs Sort Merge Join

구분Nested Loop JoinHash JoinSort Merge Join
적합 조건소량 데이터, 인덱스 존재대용량 동등 조인대용량 범위/비동등 조인
시간복잡도O(N×M), 인덱스 시 O(N×logM)O(N+M) (빌드+프로브)O(NlogN + MlogM + N+M)
인덱스 의존높음 (내부 테이블 인덱스 필수)낮음 (인덱스 불필요)낮음 (정렬 인덱스 있으면 유리)
메모리 사용적음많음 (해시 테이블)중간 (정렬 버퍼)
조인 조건모든 조건 가능동등 조인(=)만동등/범위/비동등 모두 가능
랜덤 I/O많음적음적음 (순차 I/O)