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
DIV+CSS-Struktur Lernen Sie CSS-Layout? Sie beherr...
Heutzutage ist plattformübergreifende Entwicklung...
1. Der Linux-Server konfiguriert /etc/hosts.deny ...
Im vorherigen Artikel habe ich den detaillierten ...
MySQL ist ein kleines relationales Open-Source-Da...
Technischer Hintergrund Diese Anwendung verwendet...
Anforderungslogik Frontend --> Nginx über http...
Wie füge ich jedes Mal eine Ladeanimation hinzu, ...
In diesem Artikel wird hauptsächlich die Vollbild...
1. Umgebungsversion Docker-Version 19.03.12 cento...
Inhaltsverzeichnis HTTP-Hijacking, DNS-Hijacking ...
Inhaltsverzeichnis Vorne geschrieben Anforderungs...
Ich habe gesehen, dass die Taobao-Webseite Import ...
Installieren Sie antd-mobile Globaler Import npm ...
Öffnen Sie das dekomprimierte Verzeichnis von Tom...