Lập trình 24/10/2026 7 phút

EXPLAIN ANALYZE đo thật: cùng một truy vấn trả về đúng 100 dòng, dùng index chỉ quét 100 dòng (0,013 ms) còn bỏ index quét cả 1.000.000 dòng (100 ms) — số dòng quét mới quyết định nhanh chậm, không phải số dòng trả về

Phần 5 sê-ri MySQL và InnoDB: đọc EXPLAIN và EXPLAIN ANALYZE, và vì sao con số rows examined (số dòng quét) mới quyết định một truy vấn nhanh hay chậm, chứ không phải số dòng trả về. Đo thật trong mysql:8: cùng một truy vấn trả về đúng 100 dòng, bản dùng index quét 100 dòng và mất 0,013 ms, bản bỏ index quét cả 1.000.000 dòng và mất 100 ms — gấp 7.700 lần dù kết quả y hệt. Một truy vấn trả về 0 dòng vẫn quét 1.000.001 dòng khi lọc cột không index. EXPLAIN cho ước tính (type, key, rows, filtered), EXPLAIN ANALYZE cho số thật; ước tính lệch số thật là dấu hiệu thống kê cũ.