Eso es realmente un mensaje informativo.
Es probable que esté haciendo OPTIMIZE en una tabla InnoDB (tabla que usa el motor de almacenamiento InnoDB, en lugar del motor de almacenamiento MyISAM ).
InnoDB no admite OPTIMIZE como lo hace MyISAM. Hace algo diferente. Crea una tabla vacía y copia todas las filas de la tabla existente en ella, y esencialmente elimina la tabla anterior y cambia el nombre de la tabla nueva, y luego ejecuta ANALYZE para recopilar estadísticas. Eso es lo más cerca que puede estar InnoDB de hacer una OPTIMIZAR.
El mensaje que está recibiendo es básicamente el servidor MySQL repitiendo lo que el motor de almacenamiento InnoDB le dijo al servidor MySQL:
La tabla no admite optimizar es el motor de almacenamiento InnoDB que dice ...
"Yo (el motor de almacenamiento InnoDB) no hago una operación de OPTIMIZO como lo hace mi amigo (el motor de almacenamiento MyISAM)".
"Hacer recrear + analizar en su lugar" es el motor de almacenamiento InnoDB que dice ...
"He decidido realizar un conjunto diferente de operaciones que lograrán un resultado equivalente".
OPTIMIZE TABLE
funciona bien con el motor InnoDB de acuerdo con el artículo de soporte oficial: http://dev.mysql.com/doc/refman/5.5/en/optimize-table.htmlNotará que optimizar las tablas InnoDB reconstruirá la estructura de la tabla y actualizará las estadísticas del índice (algo así como
ALTER TABLE
).Tenga en cuenta que este mensaje podría ser solo una mención informativa y la información muy importante es el estado de su consulta: ¡simplemente OK!
fuente
La mejor opción es crear una nueva tabla con las mismas propiedades
Cambiar el nombre de NEW.NAME.TABLE y TABLE.CRASH
Después de trabajar bien, eliminar
fuente
La mejor opción es crear una nueva tabla, copiar las filas a la tabla de destino, eliminar la tabla real y cambiar el nombre de la tabla recién creada. Este método es bueno para mesas pequeñas,
fuente