Sejak MySQL 5.6 memperkenalkan DDL online, ALTER TABLE
perintah opsional dapat memiliki ALGORITHM=INPLACE
atau ALGORITHM=COPY
ditentukan. The gambaran DDL secara online catatan bahwa, secara default, INPLACE
yang digunakan sedapat mungkin, dan menyiratkan (tanpa pernah cukup yang menyatakan itu) bahwa INPLACE
algoritma lebih murah daripada COPY
satu.
Jadi alasan apa yang harus saya tentukan ALGORITHM=COPY
pada ALTER TABLE
pernyataan?
OPTIMIZE TABLE
(yang saya percaya memiliki defragging indeks sebagai bagian besar dari tujuannya ) menggunakan ALGORITHM=INPLACE
MySQL 5.7.4. Jadi saya pikir itu adalah kasus yang, ya, COPY
melakukan defrag indeks, tetapi demikian jugaINPLACE
(entah bagaimana), membatalkannya sebagai potensi keuntungan COPY
.
ALTER TABLE ... ALGORITHM=INPLACE
untuk tabel yang menyertakan kolom temporal (DATE, DATETIME atau TIMESTAMP) dan belum dibangun kembali menggunakan ALTER TABLE ... ALGORITHM=COPY
" ... Keterbatasan DDL Online