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