У нас есть таблица MySQL MySQL с 8 миллионами строк. Мы хотим вырезать из него около 2 м строк, удалить некоторые устаревшие индексы и добавить новые. Для достижения почти без простоя наш план состоит в создании клона таблицы (и блокировки оригинала), запустите script (Ruby), чтобы обрезать те данные, которые нам больше не нужны, и, наконец, добавить новые индексы. Затем мы разместим страницу обслуживания в веб-приложении, заменим их имена (переименовав таблицы) и перезапустив приложение.
Это лучший способ достичь наших окончательных результатов? Любые другие советы/предложения от людей, у которых есть что-то похожее на это раньше? Каков наилучший способ (супер классный секрет mysql cmds) клонировать таблицу? Лучший/быстрый способ массового удаления строк?
old_table
new_table
, , чтобы не записывать записи записей, которые нужно удалитьnew_table
old_table
ссылки на new_table
old_table
Примените old_table, если хотите.
Реальная проблема - это новые данные в процессе перехода, что обычно означает время простоя. Надеемся, вы можете просто отключить возможность добавления данных, а не удалить весь сайт.