Из документации:
Обратите внимание, что таблица не остается в этом порядке после того, как вставляет и удаляет
На самом деле, если Вы выходите SELECT ... ORDER BY
к этой таблице, опции к ALTER TABLE
не сэкономит Вас filesort
, но вместо этого сделайте filesort
намного быстрее.
Сортировка уже упорядоченного множества эквивалентна просмотру этого набора, чтобы гарантировать, что все в порядке.
Что относительно ОБНОВЛЕНИЙ? Предположите, что никакой НЕ ВСТАВЛЯЕТ или УДАЛЯЕТ, сделаны к таблице, но только обновляет - порядок сортировки будет неповрежден?
Если Ваша таблица не содержит динамических полей (как VARCHAR
или 'BLOB'), затем по всей вероятности MyISAM
не переместит его при обновлении.
Я не полагался бы на это поведение, тем не менее, если бы я создавал атомную электростанцию или что-то, что мне платят.
Предположите, что ВСТАВЛЯЕТ и УДАЛЯЕТ, сделаны - как делают я "восстанавливаю" сортировку снова, говорю один раз в день (в этом конкретном случае, который таблица только ежедневно изменяет, таким образом восстанавливая ее ежедневно после того, как изменения сделаны, должен все еще быть в порядке!). Действительно ВОССТАНАВЛИВАЕТ ТАБЛИЦУ, фиксируют его или должен добавить, делают ALTER TABLE... ORDER BY снова?
Необходимо будет сделать ALTER TABLE ... ORDER BY
.
REPAIR
просто фиксирует физическую структуру поврежденной таблицы.