Partitioning chia một bảng lớn thành nhiều phần nhỏ dễ quản lý, thường trong cùng một DB (khác sharding — thường trải qua nhiều máy).
- Horizontal partitioning: chia theo hàng, mỗi partition giữ một tập hàng theo tiêu chí (khoảng ngày, danh sách vùng, hash). Vd bảng
orderschia theo tháng. PostgreSQL hỗ trợPARTITION BY RANGE | LIST | HASH. - Vertical partitioning: chia theo cột — tách nhóm cột ít dùng / cột lớn (blob, text) sang bảng riêng để bảng chính gọn, đọc nhanh hơn.
Lợi ích horizontal partitioning:
- Partition pruning: planner chỉ quét partition liên quan → truy vấn nhanh.
- Bảo trì rẻ: xóa dữ liệu cũ bằng DROP/DETACH cả partition thay vì DELETE hàng loạt.
Đánh đổi: chọn khóa phân vùng sai làm lệch tải; một số ràng buộc/unique index xuyên partition phức tạp hơn.