Любое изменение, которое вы делаете с помощью ALTER TABLE
, для которого требуется копия таблицы, блокирует таблицу. Это самая важная проблема для приложений. Таблица будет недоступна из запросов любым приложением.
Как долго длится эта блокировка, зависит от размера таблицы, производительности вашего сервера и другой нагрузки, под которой находится сервер.
Вы можете вносить изменения с минимальным временем простоя, если вы используете онлайн-инструмент для изменения схемы, такой как pt-online-schema-change .
Другая стратегия заключается в внесении изменений в таблицы в экземпляре базы данных реплики. Для таблиц нормально иметь другой механизм хранения на реплике, чем на главном. Вы не заботитесь о блокировке таблиц, просто репликация отстанет, а затем, когда изменения будут сделаны, репликация должна наверстать упущенное. Когда все это будет сделано, вы можете переключить свое приложение на использование реплики, а затем вывести из эксплуатации прежний основной экземпляр базы данных.