Блокировка базы данных при запуске патчей SQL для таблиц - PullRequest
0 голосов
/ 20 февраля 2020

В приложении мы используем MySql 5.6, PHP 7 и блокируем целую базу данных при выполнении патчей SQL, написанных в сценарии PhP. Обновление обновляется, как добавление новой таблицы или изменение существующих таблиц.

В течение этого периода блокировки ни один клиент не может войти в приложение. В последнее время требования изменились, и нам нужно заблокировать базу данных, только команда «ALTER TABLE» присутствует в новых SQL патчах.

Я хочу знать, в каких случаях база данных должна быть заблокирована при выполнении SQL патчей , Например, на данный момент я могу подумать, что база данных должна быть заблокирована для команд «ALTER» и «RENAME» SQL.

Любые люди с предложениями?

1 Ответ

0 голосов
/ 21 февраля 2020

Не используйте MyISAM, используйте InnoDB. Избегайте ALTER или оправдывайте его использование. В общем случае схему следует редко изменять.

Кроме того, если вы обновитесь до MySQL 8.0, многие из ALTERs не будут блокироваться.

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