Lorsque vous exécutez une instruction ALTER TABLE dans MySQL, la table entière est verrouillée en lecture (autorisant les lectures simultanées, mais interdisant les écritures simultanées) pendant la durée de l'instruction. S'il s'agit d'une grande table, les instructions INSERT ou UPDATE peuvent être bloquées pendant un temps looooong. Existe-t-il un moyen de faire une "modification à chaud", comme l'ajout d'une colonne de telle sorte que la table puisse toujours être mise à jour tout au long du processus?
La plupart du temps, je suis intéressé par une solution pour MySQL, mais je serais intéressé par d'autres SGBDR si MySQL ne peut pas le faire.
Pour clarifier, mon objectif est simplement d'éviter les temps d'arrêt lorsqu'une nouvelle fonctionnalité nécessitant une colonne de table supplémentaire est mise en production. Tout schéma de base de données va changer au fil du temps, qui est juste un fait de la vie. Je ne vois pas pourquoi nous devrions accepter que ces changements entraînent inévitablement des temps d'arrêt; c'est juste faible.