Преимущества и недостатки разных алгоритмов ALTER TABLE для MySQL:
- COPY. 12 Операции выполняются над копией исходной таблицы, данные копируются из исходной таблицы в новую таблицу строка за строкой. 1 Преимущества: операции выполняются мгновенно, но могут быть дорогими с точки зрения использования ресурсов, особенно для больших таблиц. 1 Недостатки: при выборе этого алгоритма не разрешены одновременные операции DML, поэтому любые последующие запросы, ссылающиеся на затронутую таблицу, должны ждать или стоять в очереди в списке процессов. 1
- INPLACE. 12 Операции избегают копирования данных таблицы, но могут перестроить таблицу на месте. 1 Преимущества: на фазе подготовки и выполнения операции может браться эксклюзивная блокировка метаданных на таблицу, но обычно поддерживается одновременный DML. 1 Недостатки: на короткое время может браться эксклюзивная блокировка метаданных на таблицу. 1
- INSTANT. 12 Операции только изменяют метаданные в словаре данных. 1 Во время подготовки и выполнения операции не берётся эксклюзивная блокировка метаданных на таблицу, а данные таблицы не затрагиваются, что делает операции мгновенными. 1 Преимущества: разрешены одновременные операции DML. 1 Недостатки: на фазе выполнения операции может браться эксклюзивная блокировка метаданных на таблицу. 2
Выбор алгоритма зависит от конкретных требований и задач пользователя.