Я не эксперт по MySQL, и я пытаюсь понять, почему в таблице показано Восстановление с помощью Keycache и что я могу сделать, чтобы исправить это на этом этапе. Я провел некоторые поиски, но не смог найти много по этой конкретной причине ...
Ситуация: у меня есть таблица из 36 миллионов записей. В рамках процесса оптимизации я хотел удалить из таблицы один из индексов, в частности, индекс UNIQUE. Для этого я создал новую таблицу (CREATE TABLE tableb LIKE tablea) и удалил уникальный индекс из tableb (DROP INDEX unique FROM tableb). Наконец, я скопировал информацию из таблицы в таблицу (INSERT INTO таблица SELECT * FROM таблица). В течение примерно четырех часов состояние было «Отправка данных», затем оно изменилось на «Восстановление из кэша ключей».
Насколько я понимаю, при выполнении INSERT из SELECT индексы строятся по мере копирования данных, поэтому я не просто удалил индекс из существующей таблицы, что, как мне кажется, включает в себя рефакторинг всех выживших индексов. Было ли что-то не так в моем подходе, или это нормально?
Наконец, теперь, когда он выполняет восстановление из кэша ключей, я могу что-нибудь сделать? Могу ли я завершить процесс и выполнить ремонт или изменить настройки, или мне нужно дождаться завершения процесса восстановления?
Последние записи в журнале, если они помогают:
101229 14:28:28 [Warning] Warning: Enabling keys got errno 137 on db.#sql-19cc_3243, retrying
101229 16:04:02 [Warning] Warning: Enabling keys got errno 137 on db.tableb, retrying