У нас есть ситуация, когда у нас есть таблица A и B, где A имеет несколько тысяч строк (примерно 50 тысяч), а B - несколько миллионов строк (примерно 5M). В таблице B есть столбец, указывающий на первичный ключ таблицы A. Нам нужно добавить столбец в таблицу A, и мы обеспокоены тем, что во время выполнения оператора alter он, возможно, будет иметь блокировку чтения для таблицы B.
Мой первый вопрос: правда ли, что таблица B будет заблокирована при изменении таблицы A? И если да, то было бы лучше сначала перенести внешний ключ из B в A, затем запустить операторы alter и затем воссоздать внешний ключ.
Мы используем MySQL 5.5, InnoDB и отдельные файлы для каждой таблицы.