Partitioning - Xóa data lớn trong tích tắc
Chia bảng lớn thành các partition vật lý (ví dụ theo tháng) - thao tác trên cả partition gần như tức thì.
Use case chính trong sách: xóa data cũ
-- Thay vì: DELETE FROM logs WHERE created_at < '2024-01-01' (RẤT chậm:
-- tìm từng row, xóa từng row, cập nhật từng index entry, ghi WAL/undo log...)
-- Dùng partition theo tháng:
ALTER TABLE logs DROP PARTITION logs_2023_january;
-- Xóa toàn bộ partition trong VÀI GIÂY, bất kể có bao nhiêu rowDROP PARTITION = xóa file trên disk - không cần tìm row, không cần cập nhật index từng dòng.
Khi nào nghĩ đến partition
- Bảng log/event/time-series lớn cần xóa định kỳ theo thời gian
- Retention policy (giữ 6 tháng gần nhất…)
Liên quan
- UPDATE và DELETE cũng cần Index - DELETE thường cũng cần tìm row
- Pre-sort và Pre-aggregation - kỹ thuật vật lý hóa dữ liệu khác