에듀테크 프로젝트 대시보드
파티셔닝
한 논리 테이블을 물리적으로 여러 조각으로 나눕니다. 아주 큰 테이블의 관리·조회·삭제를 빠르게 합니다.
CREATE TABLE events (
id bigint GENERATED ALWAYS AS IDENTITY,
created_at timestamptz NOT NULL,
payload jsonb
) PARTITION BY RANGE (created_at);
CREATE TABLE events_2026_09 PARTITION OF events
FOR VALUES FROM ('2026-09-01') TO ('2026-10-01');
CREATE TABLE events_2026_10 PARTITION OF events
FOR VALUES FROM ('2026-10-01') TO ('2026-11-01');| 방식 | 쓰는 곳 |
|---|---|
RANGE | 시간·번호 구간 (로그, 주문) — 가장 흔함 |
LIST | 지역·카테고리 등 이산 값 |
HASH | 고른 분산이 목적일 때 (자연스러운 키가 없음) |
WHERE created_at >= '2026-10-01' 이면 9월 파티션은 아예 안 봄DROP TABLE events_2025_01 — DELETE 없이 즉시, VACUUM 불필요ATTACH/DETACH 로 벌크 적재·아카이브UNIQUE/PK 에 포함돼야 함