Сканирование таблицы MySQL снизу

Когда я запускаю оператор выбора mysql, это занимает очень много времени, потому что я уже ранее удалил очень большое количество строк.

Есть ли способ, чтобы таблица начала сканирование снизу, а не сверху?

2 ответа

Решение

Запрос не сканирует таблицу в каком-либо определенном порядке; это может произойти, если произойдет обход определенного индекса по порядку (например, сканирование диапазона), что МОЖЕТ быть из-за того, что вы использовали ORDER BY.

Базы данных просто так не работают. Вы не можете полагаться на их поведение таким образом.

Если вы выполняете полное сканирование таблицы, ожидайте, что это займет некоторое время, особенно если вы недавно удалили много строк. Однако это займет еще больше времени, если у вас много строк.

Убедитесь, что в запросе используются индексы. Посмотрите на план объяснения и убедитесь, что он использует индексы.

Может быть, вам нужен дополнительный индекс для вашей таблицы. Также не повредит периодически выпускать OPTIMIZE TABLE и ANALYZE TABLE. На производительность запроса не должно влиять удаление строк, даже большого количества строк, при условии, что у вас есть подходящие индексы.

Другие вопросы по тегам