MySQL Table ne prend pas en charge l'optimisation

9

Mes tables Wordpress semblent avoir besoin d'être optimisées, j'ai donc regardé la commande OPTIMIZE TABLE. Lorsque j'exécute la commande, j'obtiens les résultats suivants:

Le tableau ne prend pas en charge l'optimisation, recréant + analysant à la place

Les tableaux sont construits à l'aide du programme d'installation de Wordpress 2.91 et n'ont pas été modifiés du tout.

  1. Est-ce normal?
  2. Comment puis-je optimiser ma base de données pour que les choses fonctionnent correctement?
Dscoduc
la source
Avez-vous optimisé votre table?
Richard Holloway

Réponses:

5

Avez-vous trouvé la documentation MySQL? C'est vaste et utile.

Lorsque vous exécutez OPTIMIZE TABLEsur des tables InnoDB, il affiche le Table does not support optimize, doing recreate + analyze insteadmessage.

De la documentation:

OPTIMIZE TABLE est mappé sur ALTER TABLE, qui reconstruit la table pour mettre à jour les statistiques d'index et libérer de l'espace inutilisé dans l'index cluster.

Syntaxe MySQL 5.1 OPTIMIZE TABLE

Warner
la source
1
Dans cet esprit, assurez-vous de votre moteur avant de l'activer skip-innodbcomme je l'ai suggéré dans votre post précédent.
Warner
1
C'est drôle, j'ai cherché plusieurs fois de l'aide sur ce sujet et je n'ai pas trouvé cette information ... Donc, en fait, la documentation mySQL n'est pas vraiment utile ... ma question sur la façon de faire fonctionner ma base de données correctement sans pouvoir l'optimiser ...
Dscoduc
2
Le message indique qu'il est l' optimisation de la table. La raison pour laquelle il est si détaillé est qu'il s'agit essentiellement d'un raccourci pour l'instruction alter table, qui devait être utilisé à la place dans les versions antérieures de MySQL car OPTIMIZE TABLEil ne pouvait pas être exécuté contre InnoDB. Pourquoi pensez-vous que vous devez optimiser la table pour que votre base de données fonctionne correctement?
Warner
5

Vous pouvez optimiser une table InnoDB en faisant

ALTER TABLE tablename ENGINE='InnoDB';

Cela va créer une copie de la table d'origine, déposer la table d'origine et mettre la nouvelle table à sa place.

Il y a quelques informations supplémentaires ici qui incluent des choses que vous devez savoir.

Également dans la documentation MySQL . Voir le commentaire de Dathan Pattishall du 25 mai 2004 à 16h41 environ à mi-chemin de la page.

Bien que cela puisse être sûr, vous devez d'abord effectuer et tester une sauvegarde.

Richard Holloway
la source
2
Cela produit exactement les mêmes résultats que l'exécution OPTIMIZE TABLEsur une table InnoDB dans MySQL.
Warner
2

c'est possible

utiliser un plugin de base de données wp comme http://wordpress.org/extend/plugins/wp-dbmanager/

& activer le plugin

et allez à la page et cliquez sur optimiser la base de données cela optimisera votre base de données

Pas besoin d'entrer de connexion SQL. Il récupère de wp-config.php

Athul
la source
2

OPTIMIZE fonctionne pour InnoDB. C'est du moins le cas maintenant. Il s'agit de la documentation 5.6:

Pour les tables InnoDB, OPTIMIZE TABLE est mappé sur ALTER TABLE, qui reconstruit la table pour mettre à jour les statistiques d'index et libérer de l'espace inutilisé dans l'index cluster.

Lire: Optimiser le tableau

chantheman
la source