Partitioning chia một bảng lớn thành nhiều bảng con (partition) theo khoảng/danh sách/băm — hay dùng cho time-series, event, hay bảng order khổng lồ.
Lợi ích: "partition pruning" (query chỉ đụng partition liên quan), quản lý retention dễ (xóa nguyên một tháng cũ = drop một partition), và bảo trì từng phần nhẹ hơn.
sql
CREATE TABLE events (
id bigint,
created_at timestamptz NOT NULL
) PARTITION BY RANGE (created_at);Lưu ý quan trọng: partitioning KHÔNG tự làm query nhanh nếu query không lọc theo cột phân vùng hoặc index sai.
Nó cũng làm migration và vận hành phức tạp hơn — chỉ dùng khi bảng thật sự lớn.