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

Điều kiện OR làm mất index trong PostgreSQL: khi nào, vì sao, và cách cứu

OR không tự động giết index — nó chỉ nhanh bằng nhánh chậm nhất. Đo thật: OR trên hai cột có index cho BitmapOr 0,09 ms, nhưng chỉ một nhánh thiếu index kéo cả câu thành Seq Scan toàn bảng 48 ms. Và vì sao index gộp phục vụ AND mà không phục vụ OR. PostgreSQL 16.

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

text vs varchar vs char trong PostgreSQL: chọn kiểu chuỗi nào và vì sao

Trong PostgreSQL, text và varchar lưu và chạy y hệt nhau — varchar(n) chỉ thêm một ràng buộc độ dài. Đo thật: char(50) tốn gấp đôi text vì đệm khoảng trắng, và gây bẫy so sánh khi độ dài logic khác byte trên đĩa. Vì sao char cố định nhanh hơn là huyền thoại. PostgreSQL 16.