MySQL Table unterstützt keine Optimierung

9

Meine Wordpress-Tabellen scheinen optimierungsbedürftig zu sein, daher habe ich mir den Befehl OPTIMIZE TABLE angesehen. Wenn ich den Befehl ausführe, erhalte ich die folgenden Ergebnisse:

Die Tabelle unterstützt keine Optimierung. Stattdessen wird neu erstellt und analysiert

Die Tabellen werden mit dem Wordpress 2.91-Installationsprogramm erstellt und wurden überhaupt nicht geändert.

  1. Ist das normal?
  2. Wie kann ich meine Datenbank optimieren, damit alles richtig funktioniert?
Dscoduc
quelle
Haben Sie Ihren Tisch optimiert?
Richard Holloway

Antworten:

5

Haben Sie die MySQL-Dokumentation gefunden? Es ist umfangreich und nützlich.

Wenn Sie OPTIMIZE TABLEInnoDB-Tabellen ausführen, wird die Table does not support optimize, doing recreate + analyze insteadNachricht ausgegeben .

Aus der Dokumentation:

OPTIMIZE TABLE ist ALTER TABLE zugeordnet, wodurch die Tabelle neu erstellt wird, um die Indexstatistik zu aktualisieren und nicht verwendeten Speicherplatz im Clustered-Index freizugeben.

MySQL 5.1 OPTIMIZE TABLE-Syntax

Warner
quelle
1
Stellen Sie vor diesem Hintergrund sicher, dass Ihr Motor aktiviert ist, bevor Sie ihn aktivieren, skip-innodbwie ich in Ihrem früheren Beitrag vorgeschlagen habe.
Warner
1
Komisch, ich habe viele Male nach Unterstützung zu diesem Thema gesucht und diese Informationen nicht gefunden ... Eigentlich ist die mySQL-Dokumentation nicht wirklich nützlich ... Trotzdem sehe ich immer noch keine Antwort darauf meine Frage, wie ich meine Datenbank korrekt funktionieren lassen kann, ohne die Datenbank optimieren zu können ...
Dscoduc
2
Die Meldung zeigt an, dass es sich um die Tabelle zu optimieren. Der Grund, warum es so ausführlich ist, ist, dass es im Wesentlichen eine Verknüpfung für die Anweisung alter table ist, die stattdessen in früheren Versionen von MySQL verwendet werden musste, weil OPTIMIZE TABLEsie nicht gegen InnoDB ausgeführt werden konnte. Warum müssen Sie Ihrer Meinung nach die Tabelle optimieren, damit Ihre Datenbank ordnungsgemäß funktioniert?
Warner
5

Sie können eine InnoDB-Tabelle optimieren, indem Sie dies tun

ALTER TABLE tablename ENGINE='InnoDB';

Dadurch wird eine Kopie der Originaltabelle erstellt. Legen Sie die Originaltabelle ab und platzieren Sie die neue Tabelle an ihrer Stelle.

Hier finden Sie einige zusätzliche Informationen, die Dinge enthalten, die Sie beachten sollten.

Auch in der MySQL-Dokumentation . Siehe den Kommentar von Dathan Pattishall am 25. Mai 2004, 16:41 Uhr, ungefähr auf halber Höhe der Seite.

Obwohl dies sicher sein sollte, sollten Sie zuerst ein Backup erstellen und testen.

Richard Holloway
quelle
2
Dies führt zu genau den gleichen Ergebnissen wie das Ausführen OPTIMIZE TABLEeiner InnoDB-Tabelle in MySQL.
Warner
2

es ist möglich

Verwenden Sie ein WP-Datenbank-Plugin wie http://wordpress.org/extend/plugins/wp-dbmanager/

& aktiviere das Plugin

& gehe zur Seite & klicke auf Datenbank optimieren, um deine Datenbank zu optimieren

Sie müssen keine SQL-Anmeldungen eingeben. Es wird von wp-config.php abgerufen

Athul
quelle
2

OPTIMIZE funktioniert für InnoDB. Zumindest jetzt. Dies ist 5.6 Dokumentation:

Bei InnoDB-Tabellen wird OPTIMIZE TABLE ALTER TABLE zugeordnet, wodurch die Tabelle neu erstellt wird, um die Indexstatistik zu aktualisieren und nicht verwendeten Speicherplatz im Clustered-Index freizugeben.

Lesen Sie: Tabelle optimieren

Chantheman
quelle