При выполнении инструкции ALTER TABLE в MySQL вся таблица блокируется на чтение на время выполнения инструкции. Если это большая таблица, это означает, что операторы вставки или обновления могут быть заблокированы на долгое время. Есть ли способ сделать «горячее изменение», например, добавить столбец таким образом, чтобы таблицу можно было обновлять на протяжении всего процесса?
В основном меня интересует решение для MySQL, но я бы заинтересовался другими СУБД, если MySQL не может этого сделать.
Чтобы уточнить, моя цель - просто избежать простоя, когда новая функция, которая требует дополнительного столбца таблицы, запускается в производство. Любая схема базы данных будет изменяться со временем, это просто факт жизни. Я не понимаю, почему мы должны признать, что эти изменения неизбежно приведут к простоям; это просто слабо.