Dalla documentazione :
Per le tabelle InnoDB, OPTIMIZE TABLE è mappato su ALTER TABLE, che ricostruisce la tabella per aggiornare le statistiche dell'indice e liberare spazio inutilizzato nell'indice cluster. A partire da MySQL 5.1.27, questo viene visualizzato nell'output di OPTIMIZE TABLE quando lo esegui su una tabella InnoDB, come mostrato qui:
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
+----------+----------+----------+-----------------------------------------------------------
Puoi far funzionare OPTIMIZE TABLE su altri motori di archiviazione avviando mysqld con l'opzione --skip-new o --safe-mode. In questo caso, OPTIMIZE TABLE è semplicemente mappato su ALTER TABLE.