Восстановление MySQL с помощью keycache после INSERT FROM SELECT - PullRequest
0 голосов
/ 30 декабря 2010

Я не эксперт по 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

1 Ответ

1 голос
/ 30 декабря 2010

Возможно, вы захотите проверить ответы на этот вопрос: MySQL - Как избежать восстановления с помощью Keycache?

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