Notice
Recent Posts
Recent Comments
Link
«   2026/06   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

DBDBDEEP

6.3.2 파티션 본문

친절한 SQL 튜닝

6.3.2 파티션

Kihwane 2026. 5. 18. 11:19

파티션을 사용하면 검색 조건을 만족하는 파티션만 골라 읽을 있다.
따라서 '이력성' 데이터를 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