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

BRIN index trong PostgreSQL: index 40 kB thay cho B-tree 214 MB trên bảng 10 triệu dòng

BRIN chỉ lưu min/max cho mỗi khối trang thay vì một mục cho mỗi dòng, nên index nhỏ hơn hàng nghìn lần B-tree. Với bảng log/time-series đã sắp theo thứ tự tự nhiên, nó nhanh gần bằng B-tree mà tốn gần như không có dung lượng — đo thật trên PostgreSQL 16.

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.