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 row

DROP 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