Depuis que MySQL 5.6 a introduit DDL en ligne, la ALTER TABLE
commande peut éventuellement avoir soit ALGORITHM=INPLACE
ou ALGORITHM=COPY
spécifié. La vue d'ensemble du DDL en ligne note que, par défaut, INPLACE
est utilisé dans la mesure du possible, et implique (sans jamais le dire tout à fait) que l' INPLACE
algorithme est moins cher que COPY
celui.
Alors, quelle raison aurais-je à préciser ALGORITHM=COPY
sur une ALTER TABLE
déclaration?
OPTIMIZE TABLE
de propos car (qui je crois a des index de défragmentation comme une grande partie de son objectif ) utilise à ALGORITHM=INPLACE
partir de MySQL 5.7.4. Je pense donc qu'il est vrai que, oui, COPY
ne indices defrag, mais le faitINPLACE
( en quelque sorte), réduire à néant comme un avantage potentiel COPY
.
ALTER TABLE ... ALGORITHM=INPLACE
tables qui incluent des colonnes temporelles (DATE, DATETIME ou TIMESTAMP) et n'ont pas été reconstruites à l'aide de ALTER TABLE ... ALGORITHM=COPY
" ... Limitations de Online DDL