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

Sắp thứ tự cột để giảm padding trong PostgreSQL: cùng bảng, khác dung lượng

PostgreSQL căn lề mỗi cột theo mốc kiểu của nó, chèn byte đệm khi lệch. Đo thật: cùng 7 cột y hệt, thứ tự xấu chiếm 403 MB còn thứ tự tối ưu chỉ 287 MB — chênh 116 MB chỉ do thứ tự khai báo. Quy tắc sắp xếp và truy vấn tự tìm thứ tự tối ưu. PostgreSQL 16.

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

Khóa ngoại có cần index không trong PostgreSQL: có, và nó không tự tạo

PostgreSQL tự tạo index cho PRIMARY KEY và UNIQUE nhưng KHÔNG cho cột khóa ngoại. Đo thật: thiếu index đó, xóa một dòng cha phải quét cả 5 triệu dòng con (179 ms so với 0,7 ms), và JOIN cha con seq scan 52 ms so với 0,17 ms. Vì sao, và khi nào vẫn bỏ được. PostgreSQL 16.