Depuis que MySQL 5.6 a introduit DDL en ligne, la ALTER TABLEcommande peut éventuellement avoir soit ALGORITHM=INPLACEou ALGORITHM=COPYspécifié. La vue d'ensemble du DDL en ligne note que, par défaut, INPLACEest utilisé dans la mesure du possible, et implique (sans jamais le dire tout à fait) que l' INPLACEalgorithme est moins cher que COPYcelui.
Alors, quelle raison aurais-je à préciser ALGORITHM=COPYsur une ALTER TABLEdéclaration?
OPTIMIZE TABLEde propos car (qui je crois a des index de défragmentation comme une grande partie de son objectif ) utilise à ALGORITHM=INPLACEpartir 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=INPLACEtables 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