Cơ sở dữ liệu 28/08/2026 10 phút

Cùng một CTE: 226 ms trên PostgreSQL 11, 0,07 ms trên 16 — và bản 'sửa' đó lại làm vài mã cũ chậm đi

Nhiều năm liền, WITH của PostgreSQL là một hàng rào tối ưu không chuẩn SQL nào đòi hỏi: điều kiện lọc bên ngoài không được đẩy vào trong. PostgreSQL 12 đổi điều đó. Tôi dựng cả hai phiên bản với dữ liệu giống hệt để đo, và chỉ ra vì sao 'sửa' một hành vi tình cờ lại là một thay đổi phá vỡ.

Cơ sở dữ liệu 04/11/2025 8 phút

Chỉ mục GIN tìm từ hiếm nhanh gấp 754 lần — nhưng tìm từ phổ biến còn chậm hơn cả không có chỉ mục

Đo trên 500.000 bài tiếng Việt: GIN nhanh 754 lần khi từ khoá hiếm, chậm hơn cả LIKE khi từ khoá phổ biến. Và cách xử lý ba chuyện riêng của tiếng Việt: không có bộ tách từ, tìm không dấu, và bẫy IMMUTABLE khi đánh chỉ mục unaccent.

Cơ sở dữ liệu 03/11/2025 7 phút

Kế hoạch ghi 'Index Only Scan' mà vẫn chạm bảng 29.976 lần — con số thật nằm ở chỗ khác

Chỉ mục phủ làm truy vấn nhanh 6,6 lần, nhưng có một điều kiện thứ hai gần như không ai nhắc: bản đồ trang khả kiến. Kế hoạch vẫn ghi Index Only Scan mà thời gian tăng gấp đôi — và con số cần nhìn là Heap Fetches, thứ chỉ hiện khi bạn chạy EXPLAIN ANALYZE.