Cơ sở dữ liệu 22/09/2026 6 phút

TOAST trong PostgreSQL: lưu giá trị lớn ra sao và vì sao SELECT * đắt

TOAST tự nén giá trị lớn rồi đẩy phần còn lớn ra bảng phụ, giữ bảng chính gọn. Đo thật: bảng chính chỉ 15 MB dù tổng dữ liệu hơn 1 GB, và đọc không chạm cột lớn nhanh hơn 33 lần. Nén xảy ra trước, chiến lược lưu, và vì sao SELECT * tốn kém. PostgreSQL 16.

Cơ sở dữ liệu 22/09/2026 5 phút

Bảng rất lớn trong PostgreSQL: các đòn bẩy lưu trữ để bảng tỉ dòng vẫn chạy được

Bảng cực lớn cần kết hợp nhiều đòn bẩy lưu trữ. Đo thật: fillfactor=90 cho 43% HOT update (48 MB so với 59 MB), giảm bloat cho bảng ghi nặng; TOAST nén text lặp lại 42 lần và chuyển giá trị khó nén ra ngoài dòng (main chỉ 1 MB, TOAST 195 MB) để heap chính luôn hẹp. Cùng phân vùng và tablespace phân tầng. PostgreSQL 16.