이론 목록
조인 최적화의 기본: 조인 순서·접근 경로·조인 방식
NL·Hash·Sort Merge Join의 반복 탐색·Hash Table·정렬 병합 구조를 입력 크기·Index·Memory 관점에서 비교합니다.
조인 전에 행 수 줄이기: 필터링·선집계·부분범위 처리
조인 전에 중복 Key를 집계하거나 선택적 집합을 먼저 줄이고 Top-N·Predicate Pushdown으로 전체 작업량을 낮춥니다.
Nested Loops Join 기본 원리: Outer·Inner·반복 탐색
Driving Row마다 Inner Row Source가 반복 시작되는 NL Join 구조를 Starts와 A-Rows로 계산합니다.
Nested Loops Join 튜닝: 선행 집합·Predicate·ROWID 비용
Outer·Inner Access Predicate와 Table Filter를 분리해 불필요한 ROWID Random Access가 시작되는 지점을 찾습니다.
Nested Loops Join 고급 실행 구조: ROWID Batching·Hint 검증
NL Join의 Prefetch·Batched ROWID Access·Buffer Pinning과 조인 순서 Hint가 반복 I/O와 결과 순서에 미치는 영향을 이해합니다.
Sort Merge Join의 원리와 튜닝: 정렬·병합·Workarea·비등치 조인
두 입력의 정렬과 Merge 단계, PGA·TEMP 비용 및 비등치 조인 활용 조건을 학습합니다.
Hash Join의 원리와 Workarea: Build·Probe·PGA·TEMP Spill
작은 입력으로 Hash Table을 만들고 큰 입력을 Probe하며 메모리 부족 시 TEMP Partition으로 Spill되는 과정을 이해합니다.
Hash Join 고급 튜닝: Data Skew·Bloom Filter·Build Input 제어
중복 Hash Key와 Data Skew가 CPU·분배 비용을 키우는 원리, Bloom Filter와 Build Input 제어의 적용 조건을 이해합니다.
Sort Operation 이해: ORDER BY·JOIN·WINDOW SORT
SORT ORDER BY·SORT JOIN·WINDOW SORT가 행 순서를 만드는 목적과 전체 입력을 준비해야 하는 비용을 이해합니다.
Sort Workarea 진단: Optimal·One-Pass·Multi-Pass·TEMP
Sort Workarea가 메모리를 초과할 때 TEMP로 Spill되는 Optimal·One-Pass·Multi-Pass 처리와 비용을 진단합니다.