SQLP
시험 직전 요약장
판단 기준과 헷갈리는 개념, 대표 예제를 짧게 확인하세요.
Partition Pruning 해석: Static·Dynamic·PSTART·PSTOP
원래 이론 →판단 기준
다음 실행계획을 봅니다.
예시·텍스트좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
PARTITION RANGE SINGLE Pstart 19 Pstop 19
TABLE ACCESS FULL SALES
이 계획은 다음 두 판단을 나타냅니다.
도식좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
PARTITION RANGE SINGLE
→ Range Partition 위치 19 하나만 선택
TABLE ACCESS FULL SALES
→ 선택된 Partition 안의 Block을 Full Scan
한 달 Partition의 대부분을 집계한다면 Partition Full Scan이 Index를 통한 많은 Random Access보다 효율적일 수 있습니다. 항상 다음 질문을 분리합니다.
예시·텍스트좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
1. 몇 개 Partition·Subpartition이 후보로 남았는가?
2. 남은 조각 안에서 어떤 Access Path를 사용했는가?
3. 그 Row Source가 실제로 몇 Row와 Buffer를 처리했는가?
Pruning은 Index를 대체하지 않고, Index도 Pruning을 대신하지 않습니다.
헷갈리는 개념
표를 좌우로 밀어 나머지 열을 확인하세요. 키보드: ←·→, Home·End
| 표기 | 대표 의미 |
|---|---|
| 숫자 | Compiler가 시작·종료 Partition 위치를 결정 |
KEY | Partition Key 값으로 Runtime에 위치 계산 |
KEY(I) | Bind 등을 사용하는 IN-list Iteration으로 Runtime 계산 |
KEY(SQ) | Subquery 결과를 이용한 Runtime 계산 |
KEY(ZM) | Zone Map을 이용한 Partition Pruning |
ROW LOCATION | 지정된 ROWID 또는 Global Index에서 얻은 Row Location으로 Runtime 계산 |
INVALID | 계산된 접근 Partition 범위가 비어 있음 |
대표 계산·예제
SQL좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
SELECT *
FROM sales
WHERE sale_date IN (:d1, :d2, :d3);
예시·텍스트좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
INLIST ITERATOR
PARTITION RANGE ITERATOR Pstart KEY(I) Pstop KEY(I)
Bind 값별로 Partition 위치를 Runtime에 계산하는 형태입니다.
내 최근 연습 오답
현재 브라우저의 연습 채점 기록에서 공개된 단원과 연결된 오답을 확인합니다.
오답 기록을 확인하고 있습니다.