파티셔닝 기초 — Range · List · Hash 파티션
📋 실습 안내
✏️ CODE EDITOR (JSX)
▶ 실행 버튼을 눌러 코드를 테스트하세요.
👁️ 내 미리보기
내 코드 실행 결과
🎯 완성 미리보기
목표
위 에디터 코드를 수정해서 이 결과물과 똑같이 만들어보세요!
💡 TODO 주석을 채워서 위 결과물처럼 동작하게 만들어보세요
🤖 AI 선생님에게 질문하기
이번 강의 전용
▼
선생님이 답변 중이에요...
⚠️ 학습 관련 질문만 답변합니다. 관련 없는 질문은 자동으로 학습으로 유도됩니다.
Q1. 파티션 프루닝(Partition Pruning)이란 무엇인가?
💡 파티션 프루닝은 쿼리의 WHERE 조건을 분석하여 필요한 파티션만 스캔하고 나머지는 건너뛰는 최적화입니다. 예: 월별 파티션에서 1월 데이터 조회 시 1월 파티션만 스캔.
Q2. Range 파티셔닝이 가장 적합한 시나리오는?
💡 Range 파티셔닝은 연속된 범위로 데이터를 나눌 때 적합합니다. 날짜/시간 기반의 시계열 데이터(로그, 이벤트, 주문 이력)에서 가장 많이 사용되며, 오래된 파티션을 DROP으로 즉시 삭제할 수 있어 이력 관리에 유리합니다.
Q3. 파티션 테이블에서 UNIQUE 제약을 올바르게 추가하는 방법은?
💡 파티션된 테이블의 UNIQUE 제약은 반드시 모든 파티션 키를 포함해야 합니다. 파티션 키 없이 UNIQUE를 추가하면 'unique constraint on partitioned tables must include all partitioning columns' 에러가 발생합니다.
Q4. Hash 파티셔닝의 주요 사용 목적은?
💡 Hash 파티셔닝은 파티션 키의 해시값을 사용하여 데이터를 균등하게 분산합니다. 특정 날짜나 값 목록 기준이 없을 때, 단순히 데이터를 고르게 나누어 병렬 처리 성능을 높이고자 할 때 사용합니다.
Q5. 부모 파티션 테이블에 인덱스를 추가하면 어떻게 되는가?
💡 부모 파티션 테이블에 CREATE INDEX를 실행하면 모든 기존 파티션에 자동으로 인덱스가 생성됩니다. 또한 이후에 생성되는 새 파티션에도 자동으로 인덱스가 적용됩니다.
😅
아쉽네요!
점수: 0점 — 70점 이상이 되어야 통과합니다.