2010-10-04 3 views
12

Comme mon premier message ici, je ne sais pas si je dois répondre ou poster un nouveau message. J'ai le même problème que here et la seule réponse donnée ne m'aide pas (sauf si la documentation est incorrecte). "Vous pouvez faire fonctionner OPTIMIZE TABLE sur d'autres moteurs de stockage", mais mon moteur est InnoDB. Je vous remercie pour votre aide. S.Impossible d'optimiser la table innoDB

+0

double possible de [Optimiser table InnoDB] (http://stackoverflow.com/questions/2816044/optimize-innodb-table) – Bobby

+2

Ne vous méprenez pas, mais il y a tout clairement expliqué à l'autre question. InnoDB ne supporte pas directement 'OPTIMIZE', doit faire un' ALTER TABLE' à la place pour reconstruire les index. Donc, oui, ça marche, ça ne vous dit rien. – Bobby

Répondre

28

OPTIMIZE TABLE fonctionne très bien sur les tables InnoDB. Le message qui dit que "La table ne supporte pas l'optimisation, fait de recréer + analyse à la place" est purement informatif. Vous pouvez ignorer ce message en toute sécurité.

+2

Oui. La documentation indique maintenant clairement qu'il s'agit d'un message attendu: http://dev.mysql.com/doc/refman/5.5/fr/optimize-table.html –

2

Vous ne pouvez pas ignorer le résultat ... cela veut dire son fait une opération très intensive au lieu d'une lumière ... une une très grande table (> 100G) cela pourrait être quelques heures au lieu de minutes.

-3

utilisent ce

ALTER TABLE table ENGINE='InnoDB'; 
Questions connexes