ProblembeschreibungNach dem Löschen von Daten mithilfe der Löschanweisung in MySQL hat sich der verfügbare Speicherplatz in der Überwachungsansicht nicht erhöht, die Festplattennutzung hat sich nicht verringert usw. LösungDer Grund, warum beim Löschen kein Speicherplatz freigegeben wird, liegt im MySQL-eigenen Mechanismus. Sie müssen die Tabelle neu erstellen, um Speicherplatz freizugeben. Sie können sich auf die folgenden Vorgänge beziehen:
Dabei sind zwei Punkte zu beachten: Beide Befehle erstellen die Tabelle neu. Versuchen Sie, den Vorgang nicht auszuführen, wenn der Speicherplatz knapp ist (> 90 %). Erweitern Sie zuerst die Festplatte und verkleinern Sie sie nach dem Vorgang. ProblemanalyseIm MySQL-Mechanismus werden die durch Löschen gelöschten Zeilen nur als gelöscht markiert. Wenn viele Zeilen gelöscht werden und alle Zeilen der gesamten Datenseite (innodb_page) gelöscht werden, wird die Datenseite nur als gelöscht markiert. Sie wird nicht physisch gelöscht, sondern bleibt die ganze Zeit belegt und wartet auf ihre Wiederverwendung. Zum Beispiel: Es ist ersichtlich, dass sich data_length vor und nach dem Löschen nicht ändert, data_free jedoch stark zunimmt. Dies bedeutet, dass die Daten zwar gelöscht, aber nicht freigegeben wurden und noch von der Tabelle test1 belegt sind, aber als frei angezeigt werden. Wenn in Zukunft neue Daten geschrieben werden, können sie direkt wiederverwendet werden, ohne neuen Speicherplatz zu beantragen. Verwenden Sie zu diesem Zeitpunkt Sie können sehen, dass data_length und data_free beide zu leeren Tabellen mit nur einer innodb_page (Standard 16 KB) geworden sind. PS: data_free selbst kann auch verwendet werden, um die Speicherplatzfragmentierung einer Tabelle zu bewerten. Wenn diese Zahl sehr hoch ist, können Sie dieselbe Methode verwenden, um die Tabelle neu zu erstellen und Speicherplatz freizugeben. Oben finden Sie Einzelheiten dazu, warum der Speicherplatz nicht freigegeben wird, nachdem MySQL Delete Daten gelöscht hat. Weitere Informationen dazu, warum der Speicherplatz nicht freigegeben wird, nachdem MySQL Daten gelöscht hat, finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: ElementUI implementiert kaskadierenden Selektor
>>: Rastersysteme im Webdesign
So verwenden Sie den MySQL-Autorisierungsbefehl „...
Dieser Artikel beschreibt die Verwendung gespeich...
Verwenden Sie div, um eine Maske zu erstellen oder...
Tutorial zur npm-Installation: 1. Laden Sie das N...
Der vorherige Artikel war eine einfache Überprüfu...
Flex-Layout wird auch elastisches Layout genannt....
Herzlichen Glückwunsch, dass Sie Ihren Chef endli...
Vorwort Lernen Sie MySQL, um frühere Nicht-MK-Dat...
Apache Arrow ist ein beliebtes Format, das von ve...
Der MGR unserer Bank wird Ende des Jahres eingefü...
Panther begann als Anfänger und ich bin immer noc...
Um eine virtuelle Maschine auf einem Windows-Syst...
Wer King of Glory gespielt hat, sollte mit der Wi...
3D-Koordinatenkonzept Wenn sich ein Element dreht...
1) Prozess 2) FSImage und Bearbeitungen Nodenode ...