Rückgewinnung von Speicherplatz in MySQL InnoDB
Beim Löschen von Datenzeilen aus einer MySQL-Tabelle mithilfe der InnoDB-Speicher-Engine wird der zugewiesene Speicherplatz nicht gelöscht automatisch freigegeben. Dies kann zu einer wachsenden Dateigröße von ibdata1 und potenziellen Speicherplatzproblemen führen.
Eine Methode, dieses Problem zu beheben, ist die Verwendung des Befehls „Tabelle optimieren“. Dieser Befehl verringert jedoch nicht die Größe der Datei ibdata1. MySQL behält diesen Speicherplatz absichtlich für eine mögliche Wiederverwendung in zukünftigen Vorgängen bei.
Um Speicherplatz von MySQL zurückzugewinnen, gibt es zwei Hauptansätze:
1. Tabelle löschen und neu erstellen:
Dieser Ansatz gibt den zugewiesenen Speicherplatz frei, benötigt jedoch eine Sicherung und Wiederherstellung.
2. Konfigurieren Sie innodb_file_per_table:
Bearbeiten Sie die MySQL-Konfigurationsdatei (my.cnf) und fügen Sie die folgende Zeile hinzu:
innodb_file_per_table=1
Diese Option erstellt eine separate .ibd-Datei für jede Tabelle in der Datenbank. Wenn Sie Datenzeilen löschen und „Tabelle optimieren“ ausführen, wird die Größe der .ibd-Datei für diese Tabelle reduziert.
Das obige ist der detaillierte Inhalt vonWie kann ich den von MySQL InnoDB-Tabellen verwendeten Speicherplatz zurückgewinnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!