SQLP
시험 직전 요약장
판단 기준과 헷갈리는 개념, 대표 예제를 짧게 확인하세요.
Partition-Wise Join: Full·Partial·병렬 재분배
원래 이론 →판단 기준
예시·텍스트좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
1. 시스템에서 가장 비용이 큰 대량 Join을 찾는다.
2. Filter 후 양쪽 입력 Row·Bytes를 측정한다.
3. Join Key의 NDV·Top Frequency·NULL 집중을 확인한다.
4. 데이터 생명주기 Key와 지배적 Join Key가 같은지 판단한다.
5. 다르면 Composite 또는 Reference Partitioning을 검토한다.
6. 양쪽 Equipartition이 가능한지 확인한다.
7. 불가능하면 한쪽 Reference Table을 둔 Partial 이득을 계산한다.
8. Pair 수·DOP·Skew·RAC Affinity·Local Index 운영비를 함께 검토한다.
9. 일반 HASH·HASH, Broadcast, Full, Partial 후보를 실제로 비교한다.
10. DBMS_XPLAN·V$PQ_TQSTAT·TEMP·Interconnect 통계로 검증한다.
Partition-Wise Join은 물리 설계를 바꾸는 최적화이므로 특정 SQL 한 개의 응답시간만 보지 않습니다. Partition Maintenance, Local Index 수, 통계 수집, 작은 조회, DML, 데이터 증가까지 전체 Workload 기준으로 결정합니다.
헷갈리는 개념
Partition Pruning은 한 입력에서 읽지 않아도 되는 Partition을 제거합니다. Partition-Wise Join은 두 입력의 대응 조각을 이용해 Pair별로 조인합니다.
도식좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
Partition Pruning
→ 어느 Partition을 읽지 않을 것인가?
Partition-Wise Join
→ 읽는 데이터 조각을 어느 상대 조각과 조인할 것인가?
다음 조합이 모두 가능합니다.
표를 좌우로 밀어 나머지 열을 확인하세요. 키보드: ←·→, Home·End
| 상황 | Pruning | Partition-Wise Join |
|---|---|---|
| 한 달만 조회하는 Co-Partition Table 조인 | 있음 | Full 가능 |
| 전체 기간 Co-Partition Table 조인 | 없거나 전체 | Full 가능 |
| 한 달 Partition과 비파티션 Table 조인 | 있음 | Partial 가능 |
| Join Key와 무관한 Partition 구조 | 조건에 따라 가능 | 해당 Join의 Full 불가 |
모든 Partition을 읽어 Pruning 이득이 없어도, Full 방식으로 Join 재분배와 Pair별 Peak Memory를 줄일 수 있습니다.
내 최근 연습 오답
현재 브라우저의 연습 채점 기록에서 공개된 단원과 연결된 오답을 확인합니다.
오답 기록을 확인하고 있습니다.