Сценарий вкратце: таблица с более чем 16 миллионами записей [размером 2 ГБ]. Чем выше LIMIT offset с SELECT, тем медленнее будет запрос при использовании ORDER BY * primary_key *
So
SELECT * FROM large ORDER BY `id` LIMIT 0, 30
занимает гораздо меньше, чем
SELECT * FROM large ORDER BY `id` LIMIT 10000, 30
Это только заказывает 30 записей и то же самое в любом случае. Так что это не накладные расходы от ORDER BY.
Теперь, получая последние 30 строк, требуется около 180 секунд. Как я могу оптимизировать этот простой запрос?