2017-06-16 1 views
0

Je suis en train de ALTER une colonne de base de données en utilisant:Qu'arrive-t-il à une insertion lorsqu'une table mysql (innoDB) est modifiée (verrouillée)?

ALTER TABLE [table name] MODIFY id bigint; 

J'ai cherché et trouvé que la table est verrouillé pendant le processus ALTER.

Comment les inserts sont-ils affectés pendant le processus ALTER? Attendent-ils que le verrou soit libéré? Y a-t-il un timeout?

Si les inserts attendent que le verrou soit libéré, y a-t-il une limite au nombre d'insertions pouvant attendre?

Répondre

0

Lorsque vous modifiez un type de données à l'aide de CHANGE ou de MODIFY, MySQL tente de convertir au mieux les valeurs de colonnes existantes au nouveau type.

Lorsque le ALTER TABLE terminera la conversion, tous les fichiers DML en attente seront exécutés.

Le temps que cela prendra dépend de la quantité de données de la table.

+0

sous réserve de dépassement de délai. –