Нет никакой потребности 'восстановить' индекс. Они всегда совершенствуются. Возможно, он обращался к восстановлению таблицы. В зависимости от Ваших шаблонов использования и схемы, можно получить фрагментированные страницы в InnoDB, и я думаю в MyISAM также. Восстановление таблицы может улучшить производительность путем избавления от фрагментации данных по диску. Я регулярно не использую таблицы MyISAM, но я полагаю, что рекомендуется работать, 'ОПТИМИЗИРУЮТ ТАБЛИЦУ' с определенными шаблонами использования. Посмотрите, что документы MySQL о ОПТИМИЗИРУЮТ ТАБЛИЦУ для некоторой хорошей информации и о MyISAM и о InnoDB.
я не так знаком с запутанностью MyISAM, но с InnoDB это верно, что статистика может стать устаревшей. База данных сохраняет предполагаемую статистику по тому, как Ваши данные распределяются для данного индекса, и для тех возможно выйти, но MySQL/InnoDB имеет некоторых созданных в функциональности, чтобы попытаться держать статистику в курсе. Вы обычно не должны волноваться об этом.
Поэтому при использовании InnoDB ответ не, Вы обычно не должны активно делать ничего для хранения индексов, работающих хорошо. Я не так уверен с MyISAM, я думаю, что более распространено должно оптимизировать те таблицы регулярно.
Это обычно - хорошая идея настроить cronjob, чтобы оптимизировать индексы и проверить ошибки.
См. mysqlcheck. Типичное задание крона смотрит что-то как mysqlcheck -Aaos
, который проверяет все таблицы во все базы данных для ошибок, оптимизирует индексы, и только выводы на ошибке.
Ответ, который Вы связали приблизительно с "регулярным техобслуживанием", был в определенном контексте временной таблицы, которая становится усеченной и перезаполненной регулярно. Вы не должны делать этого подавляющему большинству установок базы данных MySQL.