Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 3517|Antwort: 1

[Tipps] [Übertragen] zu MySQL Advanced: Befehl 'Tabelle optimieren'

[Link kopieren]
Veröffentlicht am 17.06.2023 11:40:34 | | |
Bei der Verwendung von MySQL kann es sein, dass eine Tabelle zwar viele Daten löscht, aber die Daten- und Indexdateien der Tabelle seltsam klein sind. Das liegt daran, dass MySQL beim Löschen von Daten (insbesondere Text und BLOB) viele Datenlücken hinterlässt, was den Speicherplatz der ursprünglichen Daten belegt, sodass sich die Dateigröße nicht ändert. Diese Löcher können in Zukunft wiederverwendet werden, wenn Daten eingefügt werden, und natürlich können sie dort bleiben. Diese Lücke erhöht nicht nur die Speicherkosten, sondern verringert auch die Scan-Effizienz der Tabelle aufgrund der Datenfragmentierung.

Anwendungsszenarien:Wenn Sie einen großen Teil der Tabelle gelöscht haben oder viele Änderungen an einer Tabelle mit variablen Zeilen vorgenommen haben (eine mit VARCHAR-, BLOB- oder TEXT-Spalten), sollten Sie OPTIMIZE TABLE verwenden. Gelöschte Datensätze werden in der verknüpften Liste gespeichert, und nachfolgende INSERT-Operationen verwenden den alten Datensatzstandort wieder. Du kannst OPTIMIZE TABLE verwenden, um ungenutzten Speicherplatz umzusetzen und Datenfragmente zu organisieren. [Wenn eine große Menge Daten aus deiner Bibliothek gelöscht wird, kann es sein, dass die Dateigröße nicht verringert ist. Dies ist auf die Fragmentierung zurückzuführen, die nach der Löschoperation in der Datendatei zurückbleibt.


In den meisten Einstellungen musst du OPTIMIZE TABLE überhaupt nicht ausführen. Selbst wenn du viele Zeilen mit variabler Länge machst, musst du sie nicht oft ausführen, einmal pro Woche oder einmal im Monat, nur für bestimmte Tabellen.

OPTIMIZE TABLE funktioniert nur für MyISAM-, BDB- und InnoDB-Tabellen.

Für BDB-Tabellen wird die OPTIMIZE TABLE derzeit der ANALYZE TABLE zugeordnet. Für InnoDB-Tabellen wird die OPTIMIZE TABLE auf die ALTER TABLE abgebildet, die die Tabelle neu aufbaut. Operationen neu aufbauen, Indexstatistiken aktualisieren und ungenutzten Speicherplatz in geclusterten Indizes freimachen.

Hinweis: MySQL sperrt die Tabelle während des OPTIMIZE TABLE-Laufs.

Für myisam kannst du direkt die Optimiertabelle table.name verwenden,Wenn es sich um die InnoDB-Engine handelt, meldet sie: "Tabelle unterstützt nicht optimieren, sondern recreate + analyze stattdessen", und unter normalen Umständen, wenn du von myisam zu innodb konvertierst, nutzt du alter table table.name engine = 'innodb' zur Konvertierung, und du kannst das auch zur Optimierung nutzen.Daher können wir, wenn es sich um die InnoDB-Engine handelt, "alter table table.name engine='innodb' verwenden, anstatt optimieren für Optimierung

Um die Vorher- und Nachher-Effekte anzuzeigen, können Sie den Befehl "Tabellenstatus anzeigen" verwenden, zum Beispiel "Tabellenstatus aus [Datenbank] anzeigen, wie "[table_name]"; Der data_free im Rückgabeergebnis ist der Speicherplatz, der vom Void eingenommen wird.

Das Shell-Skript, das MySQL Timed Batch Check Table Reparatur und Tabellenoptimierung implementiert, ist wie folgt:

Original:

Der Hyperlink-Login ist sichtbar.
Der Hyperlink-Login ist sichtbar.




Vorhergehend:Verwenden Sie das SQLMAP-Infiltrationstool SQL-Injektionstests
Nächster:Consul-Installationstutorial in einer Windows-Testumgebung
 Vermieter| Veröffentlicht am 06.07.2023 18:54:17 |
--Prüfliste


-- Den Tisch fixieren


-- Optimiere die Tabelle


Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com