Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Was bedeutet, dass Table die Optimierung nicht unterstützt, sondern stattdessen neu erstellen + analysieren bedeutet?

Das ist wirklich eine Informationsnachricht.

Wahrscheinlich führen Sie OPTIMIZE auf einem InnoDB Tabelle (Tabelle, die die InnoDB-Speicher-Engine verwendet, anstatt MyISAM Speicher-Engine).

InnoDB unterstützt OPTIMIZE nicht so wie MyISAM. Es macht etwas anderes. Es erstellt eine leere Tabelle und kopiert alle Zeilen aus der vorhandenen Tabelle hinein, löscht im Wesentlichen die alte Tabelle und benennt die neue Tabelle um und führt dann eine ANALYSE durch, um Statistiken zu sammeln. Das ist das Beste, was InnoDB an ein OPTIMIZE herankommen kann.

Die Nachricht, die Sie erhalten, ist im Grunde, dass der MySQL-Server wiederholt, was die InnoDB-Speicher-Engine dem MySQL-Server gesagt hat:

Table unterstützt keine Optimierung sagt die InnoDB-Speicher-Engine...

"Ich (die InnoDB-Speicher-Engine) mache keine OPTIMIZE-Operation wie mein Freund (die MyISAM-Speicher-Engine)."

"stattdessen neu erstellen + analysieren" sagt die InnoDB-Speicher-Engine...

„Ich habe mich entschieden, etwas anderes aufzuführen Reihe von Operationen, die ein äquivalentes Ergebnis erzielen."