Ponieważ MySQL 5.6 wprowadził DDL online, ALTER TABLE
polecenie może opcjonalnie mieć jeden ALGORITHM=INPLACE
lub ALGORITHM=COPY
określony. Przegląd internetowych DDL zauważa, że domyślnie INPLACE
jest stosowany wszędzie tam, gdzie to możliwe, i sugeruje (nigdy dość podając ją), że INPLACE
algorytm jest tańszy niż COPY
się jest.
Jaki więc powód powinienem podać ALGORITHM=COPY
w ALTER TABLE
oświadczeniu?
OPTIMIZE TABLE
(jak sądzę, ma defragmentujące indeksy jako dużą część jej celu ) używa ALGORITHM=INPLACE
od 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=INPLACE
tabel zawierających kolumny czasowe (DATA, DATETIME lub TIMESTAMP) i nie zostały odbudowane przy użyciu ALTER TABLE ... ALGORITHM=COPY
” ... Ograniczenia DDL online