Ponieważ MySQL 5.6 wprowadził DDL online, ALTER TABLEpolecenie może opcjonalnie mieć jeden ALGORITHM=INPLACElub ALGORITHM=COPYokreślony. Przegląd internetowych DDL zauważa, że domyślnie INPLACEjest stosowany wszędzie tam, gdzie to możliwe, i sugeruje (nigdy dość podając ją), że INPLACEalgorytm jest tańszy niż COPYsię jest.
Jaki więc powód powinienem podać ALGORITHM=COPYw ALTER TABLEoświadczeniu?
OPTIMIZE TABLE(jak sądzę, ma defragmentujące indeksy jako dużą część jej celu ) używa ALGORITHM=INPLACEod MySQL 5.7.4. Więc myślę, że to przypadek, że tak, COPY czy indeksy Defrag, ale tak robiINPLACE (jakoś), znoszący ją jako potencjalną korzyść COPY.
ALTER TABLE ... ALGORITHM=INPLACEtabel zawierających kolumny czasowe (DATA, DATETIME lub TIMESTAMP) i nie zostały odbudowane przy użyciu ALTER TABLE ... ALGORITHM=COPY” ... Ograniczenia DDL online