Bài viết mới nhất

Tổng 1741 bài
Cơ sở dữ liệu 28/10/2025 8 phút

Bộ tối ưu tin có 3 dòng, thực tế có 500.001 — lệch 166.667 lần, và vì sao con số đó quyết định tất cả

Gần như mọi truy vấn chậm bất thường đều bắt đầu từ một con số: chênh lệch giữa rows dự đoán và rows thật. Đo ba nguồn làm bộ tối ưu PostgreSQL đoán lệch, nặng nhất 166.667 lần — và một điều nó vẫn làm đúng dù thống kê rỗng hoàn toàn.

Cơ sở dữ liệu 27/10/2025 8 phút

Nút ghi 0,003 ms nên bỏ qua? Nó chạy 49 lần — ba con số trong EXPLAIN ai cũng đọc sai

SQL nói bạn MUỐN gì, không nói LÀM THẾ NÀO — bộ lập lịch tự nghĩ ra cách làm, và EXPLAIN là cửa sổ nhìn vào đó. Mổ từng con số cost, rows, loops, buffers; ba chỗ hay đọc sai; và một ước lượng lệch 83 lần vì bộ tối ưu tưởng hai cột độc lập.

Cơ sở dữ liệu 26/10/2025 8 phút

Một dòng NULL làm NOT IN trả về rỗng — không lỗi, không cảnh báo, và còn chạy nhanh hơn

NULL không phải một giá trị, nó là 'chỗ chưa biết', và SQL xử lý nó bằng logic ba trạng thái. Hệ quả: một dòng NULL trong bảng con làm NOT IN xoá sạch kết quả, phong <> 'Ky thuat' bỏ sót người phòng trống, avg() chia nhầm mẫu số — tất cả im lặng.