Spec-Zone.ru › MySQL 8.4

17.12.7 Условия неудачи онлайн DDL операций

Неудача онлайн операции DDL, как правило, вызвана одним из следующих условий:

  • Запрос ALGORITHM указывает алгоритм, несовместимый с конкретным типом операции DDL или движком хранения.

  • Запрос LOCK указывает низкую степень блокировки (SHARED или NONE), несовместимую с конкретным типом операции DDL.

  • Возникает таймаут при ожидании действия на таблице, которое может потребоваться на короткое время во время начальной и заключительной фаз операции DDL.

  • Файловая система tmpdir или innodb_tmpdir исчерпывает место на диске во время записи MySQL временных файлов сортировки при создании индексов. Дополнительную информацию можно найти в разделе 17.12.3 «Требования к дисковому пространству для онлайн DDL операций».

  • Операция занимает много времени, и одновременные DML-операции так сильно изменяют таблицу, что размер временного онлайн-журнала превышает значение параметра innodb_online_alter_log_max_size. Это условие приводит к ошибке DB_ONLINE_LOG_TOO_BIG.

  • Одновременные DML-операции вносят изменения в таблицу, разрешенные исходным определением таблицы, но не новым. Операция терпит неудачу только в самом конце, когда MySQL пытается применить все изменения от одновременных DML-запросов. Например, вы можете вставить дублирующиеся значения в столбец во время создания уникального индекса или вставить NULL значения в столбец во время создания индекса в этом столбце. Вносимые изменения одновременных DML-запросов имеют приоритет, и операция ALTER TABLE фактически завершается неудачей.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/innodb-online-ddl-failure-conditions.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API