Оскільки MySQL 5.6 представив онлайн-DDL, ALTER TABLE
команда може необов'язково мати ALGORITHM=INPLACE
або ALGORITHM=COPY
вказати. Огляд онлайн DDL зазначає , що, за замовчуванням, INPLACE
використовується всюди , де це можливо, і передбачає (ніколи не цілком виклавши його) , що INPLACE
алгоритм дешевше , ніж COPY
один.
Отже, яку причину мені колись доведеться вказати ALGORITHM=COPY
у ALTER TABLE
заяві?
OPTIMIZE TABLE
(як я вважаю, дефрагментація індексів є значною частиною його призначення ) використовує ALGORITHM=INPLACE
MySQL 5.7.4. Так що я думаю , що це так , що, так, COPY
робить індекси дефрагментировать, але так самоINPLACE
(як - то), зводить на немає його як потенційне перевагу COPY
.
ALTER TABLE ... ALGORITHM=INPLACE
таблиці, що містять тимчасові стовпці (DATE, DATETIME або TIMESTAMP) і не були відновлені за допомогою ALTER TABLE ... ALGORITHM=COPY
" ... Обмеження Інтернет DDL