Tóm lại kịch bản: Một bảng có hơn 16 triệu bản ghi [kích thước 2GB]. Độ lệch LIMIT càng cao với CHỌN, truy vấn càng trở nên chậm hơn, khi sử dụng ORDER BY * chính_key *
Vì thế
SELECT * FROM large ORDER BY `id` LIMIT 0, 30
mất ít hơn nhiều
SELECT * FROM large ORDER BY `id` LIMIT 10000, 30
Điều đó chỉ đặt hàng 30 hồ sơ và dù sao đi nữa. Vì vậy, nó không phải là chi phí từ ORDER BY.
Bây giờ khi tìm nạp 30 hàng mới nhất, sẽ mất khoảng 180 giây. Làm thế nào tôi có thể tối ưu hóa truy vấn đơn giản đó?