От документация :
За InnoDB таблици, OPTIMIZE TABLE се преобразува в ALTER TABLE, което изгражда отново таблицата, за да актуализира статистическите данни на индекса и да освободи неизползвано пространство в клъстерирания индекс. Започвайки с MySQL 5.1.27, това се показва в изхода на OPTIMIZE TABLE, когато го стартирате на InnoDB таблица, както е показано тук:
mysql> OPTIMIZE TABLE foo;
+----------+----------+----------+-----------------------------------------------------------
| Table | Op | Msg_type | Msg_text
+----------+----------+----------+-----------------------------------------------------------
| test.foo | optimize | note | Table does not support optimize, doing recreate + analyze ...
| test.foo | optimize | status | OK
+----------+----------+----------+-----------------------------------------------------------
Можете да накарате OPTIMIZE TABLE да работи на други машини за съхранение, като стартирате mysqld с опцията --skip-new или --safe-mode. В този случай OPTIMIZE TABLE просто се нанася на ALTER TABLE.