Сканирование таблицы MySQL снизу - PullRequest
0 голосов
/ 18 мая 2010

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

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

Ответы [ 2 ]

2 голосов
/ 19 мая 2010

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

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

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

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

2 голосов
/ 18 мая 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...