Имеет fl aws.
- Он делает то, что делает
OPTIMIZE
- копирует таблицу и перестраивает индексы. - Вы оптимизируете дважды - - один раз с
CREATE .. SELECT
, затем снова с OPTIMIZE
. - Все записи во время оптимизации будут потеряны.
- Выполните все
RENAMEs
в одном выражении RENAME
чтобы избежать короткого времени, когда таблицы не существует: RENAME TABLE real TO old, new TO real;
Все они говорят, что ваш скрипт оптимизации не может быть таким же хорошим, как встроенный.
pt-online-schema-change
, но не делать никаких реальных изменений схемы, это бесплатный инструмент, который работает лучше.
В любом случае, почему вы используете OPTIMIZE
? Это почти никогда не достаточно полезно, чтобы оправдать это. Это просто перестроить индекс InnoDB FULLTEXT
? Имейте в виду, что OPTIMIZE
копирует таблицу и перестраивает все индексы.
MySQL 8.0, я думаю, имеет оптимизацию «на месте». Обновление, чтобы получить это.
Тем временем, подумайте об остановке операций чтения и записи, DROP INDEX
и ADD INDEX
для одного FULLTEXT
индекса.