Toute modification que vous apportez avec ALTER TABLE
qui nécessite une copie de table verrouille la table. C'est le problème le plus important pour les applications. La table sera inaccessible à partir de requêtes par n'importe quelle application.
La durée de ce verrouillage dépend de la taille de la table, des performances de votre serveur et de l'autre charge sous laquelle se trouve le serveur.
Vous pouvez apporter des modifications avec un minimum de temps d'arrêt si vous utilisez un outil de modification de schéma en ligne comme pt-online-schema-change .
Une autre stratégie consiste à apporter des modifications aux tables sur une instance de base de données répliquée. Il est normal que les tables aient un moteur de stockage différent sur un réplica que sur le maître. Vous ne vous souciez pas du verrouillage des tables, cela retardera simplement la réplication, puis une fois les modifications effectuées, la réplication devrait rattraper son retard. Lorsque tout cela est fait, vous pouvez basculer votre application pour utiliser le réplica, puis désactiver l'ancienne instance de base de données principale.