DBDBDEEP
6.3.2 파티션 본문
파티션을 사용하면 검색 조건을 만족하는 파티션만 골라 읽을 수 있다.
따라서 '이력성' 데이터를 Full Scan 방식으로 조회할 때 성능을 크게 향상시킨다.
또한 데이터가 저장된 파티션만 백업하고 삭제하는 등 데이터 관리 작업을 효율적이고 빠르게 수행할 수 있는 장점이 있다.
Partition Prunning
SQL 하드파싱이나 실행 시점에 조건절을 분석해서 읽지 않아도 되는 파티션 세그먼트를 액세스 대상에서 제외하는 기능
| Execution Plan ----------------------------------------------------------------------------------------------------------- 1 PARTITION RANGE (SUBSET PART) (Cost:111, %%CPU:2, Rows:24825) (PS:2, PE:3) 2 TABLE ACCESS (FULL): SALES (Cost:111, %%CPU:2, Rows:24825) Predicate Information ----------------------------------------------------------------------------------------------------------- 2 - filter: ("SALES"."SALE_DATE" < TO_DATE('2024-07-15 00:00:00','YYYY-MM-DD HH24:MI:SS')) AND ("SALES"."SALE_DATE" > TO_DATE('2024-06-01 00:00:00','YYYY-MM-DD HH24:MI:SS')) (0.582 * 0.658) |
SUBSET PART가 나왔다는 의미는 전체 파티션 중 일부만 접근한다는 의미로 파티션 프루닝이 적용된 경우이다.

파티션 프루닝은 Full Scan 하더라도 전체가 아닌 일부 파티션 세그먼트만 읽고 멈출 수 있어 성능을 크게 향상시킨다.
파티션 테이블도 인덱스로 액세스 할 수 있지만 파티션 Prunning을 이용한 테이블 스캔보다 훨씬 느리다.
'친절한 SQL 튜닝' 카테고리의 다른 글
| 5.3 인덱스를 이용한 Sort 연산 생략 (0) | 2026.05.18 |
|---|---|
| Union vs. Union All (0) | 2026.05.18 |
| 스칼라 서브쿼리 캐싱효과 (장/단점) (0) | 2026.05.18 |
| 서브쿼리 언네스팅 (0) | 2026.05.18 |
| 4.4 서브쿼리 (0) | 2026.05.18 |