В ALGORITHM = INPLACE копирование таблицы избегается, но может потребоваться перестроение INPLACE. Пока ALGORITHM = COPY, таблица копируется в новую, а затем делается ссылка на новую таблицу.
- Всегда ли требуется перестройка в INPLACE?
- Как InnoDb выполняет внутреннюю перестройку?
- Если перестройка не выполнена, как запросы видят изменения, сделанные DDL заявления)? Я предполагаю, что это работает как любой алгоритм INPLACE, который изменяет сам исходный DS, а не копирует его. Но тогда как здесь разрешены операторы DML (LOCK = NONE / SHARED)?
- В случае COPY LOCK = SHARED - это минимальный уровень блокировки. Поскольку INPLACE допускает одновременные запросы и DML, правильно ли сказать, что INPLACE разрешает только LOCK = NONE и LOCK = SHARED?