Desde el documentation:
Para tablas InnoDB, optimizar la TABLA se asigna a ALTER TABLE, que reconstruye la tabla para actualizar las estadísticas de índice y el espacio no utilizado libre en el índice agrupado. A partir de MySQL 5.1.27, esto se visualiza en la salida de la tabla optimizar cuando se lo ejecuta en una tabla InnoDB, como se muestra aquí:
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
+----------+----------+----------+-----------------------------------------------------------
Puede hacer que el trabajo OPTIMIZE TABLE en otros motores de almacenamiento arrancando mysqld con la opción --skip-new o --safe-mode. En este caso, OPTIMIZE TABLE se asigna a ALTER TABLE.
Mejor tarde que nunca. :) –