Wie kann ich die Größe einer MySQL-Datenbank reduzieren?

Datenbanksoftware wie MySQL verwendet häufig verschiedene Techniken, um die Suche und Bereitstellung angeforderter Informationen zu beschleunigen. In den meisten Fällen handelt es sich bei diesen Techniken um temporäre Datenbanken, die als Zwischenprodukte erstellt werden und Ihnen helfen, die angeforderten Daten schneller abzurufen. Der einzige Nachteil dieser zusätzlichen Datenbanken ist, dass sie zusätzlichen Speicherplatz verbrauchen. In diesem Artikel zeigen wir Ihnen die verschiedenen Möglichkeiten, wie Sie die Größe Ihrer MySQL-Datenbank reduzieren können.

Wie kann ich die Größe einer MySQL-Datenbank verringern?

Es gibt zwei grundlegende Ansätze, um die Größe einer MySQL-Datenbank zu reduzieren. Sie können entweder versuchen, die Datenbankstruktur zu optimieren, oder unnötige Daten löschen. Im Folgenden werden wir beide Techniken genauer untersuchen.

Wie funktioniert die Optimierung für eine MySQL-Datenbank?

Wie bereits erwähnt, erstellen MySQL-Datenbanken häufig interne Tabellen, um Suchabfragen zu beschleunigen. Diese zusätzlichen Tabellen werden jedoch im Laufe der Zeit weniger effektiv, wenn Sie neue Daten hinzufügen und vorhandene Einträge ändern. Daher ist es eine gute Idee, Ihre Datenbank von Zeit zu Zeit zu optimieren. Sie reduzieren nicht nur die Gesamtgröße Ihrer Datenbank, sondern werden wahrscheinlich auch eine Leistungssteigerung feststellen!

Sie haben zwei Möglichkeiten, eine Datenbank auf unserer Shared Hosting-Plattform zu optimieren. Sie können entweder unseren 1-Klick-Optimierer verwenden, der Teil unseres Datenbankmanagers ist, oder Sie können die von phpMyAdmin bereitgestellten Tools verwenden.

Wie optimiere ich eine MySQL-Datenbank mit dem Datenbankmanager?

Sie können alle Tabellen in einer bestimmten MySQL-Datenbank einfach und schnell optimieren, dank des Datenbankmanager-Abschnitts unseres Control Panels. Der Datenbankmanager steht Ihnen zur Verfügung, wenn Sie unser kostenloses Website-Hosting, Premium Shared Hosting oder einen unserer semi-dedizierten Webserver verwenden. Gehen Sie folgendermaßen vor, um Ihre Datenbank zu optimieren:

  1. Gehen Sie zum Abschnitt Datenbankmanager unseres Control Panels.
  2. Klicken Sie auf den Datenbanknamen, den Sie optimieren möchten.
  3. Öffnen Sie die Registerkarte Verwaltung.
  4. Klicken Sie auf die Option 1-Klick-Optimierung.
 Dank der Optimierungsoption in unserem Datenbankmanager können Sie die Größe Ihrer MySQL-Datenbank mit einem einzigen Klick reduzieren.
Dank der Optimierungsoption in unserem Datenbankmanager können Sie die Größe Ihrer MySQL-Datenbank mit einem einzigen Klick reduzieren.

Sobald Sie die oben genannten Aktionen ausführen, werden alle Tabellen in Ihrer Datenbank optimiert. Beachten Sie, dass unsere Datenbanknutzungsstatistiken nicht in Echtzeit aktualisiert werden, sodass Sie möglicherweise keinen unmittelbaren Unterschied in der Datenbanknutzung bemerken. Um mehr über die verschiedenen Funktionen unseres Datenbankmanagers zu erfahren, können Sie unseren vollständigen Leitfaden zum Datenbankmanager durchgehen.

Wie optimiere ich die Tabellen einer MySQL-Datenbank mit phpMyAdmin?

Im Gegensatz zu unserem Datenbankmanager, der alle Tabellen auf einen Schlag optimiert, gibt Ihnen phpMyAdmin eine viel detailliertere Kontrolle darüber, welche Tabellen optimiert werden sollen und welche Tabellen unverändert bleiben sollen. Im Folgenden werden zwei Techniken zum Reduzieren von Tabellengrößen durch phpMyAdmin untersucht: die Option Optimieren sowie das Komprimieren von Daten aus Tabellen, die die InnoDB-Speicher-Engine verwenden.

Neben der Tabellenoptimierung bietet Ihnen phpMyAdmin eine Vielzahl weiterer Optionen, die Sie möglicherweise nützlich finden. Weitere Informationen zu diesem praktischen Dienstprogramm finden Sie in unserer phpMyAdmin-Übersicht.

Wie reduziere ich meine Tabellengröße mit der Optimierungsfunktion in phpMyAdmin?

Führen Sie die folgenden Schritte aus, um die Tabellen in Ihrer MySQL-Datenbank mithilfe der Optimierungsfunktion in phpMyAdmin zu optimieren:

  1. Öffnen Sie den Abschnitt Datenbankmanager der Systemsteuerung.
  2. Klicken Sie auf den Datenbanknamen, den Sie optimieren möchten.
  3. Öffnen Sie die Registerkarte Verwaltung.
  4. Klicken Sie auf die Option phpMyAdmin wie unten gezeigt:
 Sie können ganz einfach auf das phpMyAdmin-Dienstprogramm zugreifen, indem Sie einen Link auf der Registerkarte Verwaltung unseres Datenbankmanagers verwenden.
Sie können ganz einfach auf das phpMyAdmin-Dienstprogramm zugreifen, indem Sie einen Link auf der Registerkarte Verwaltung unseres Datenbankmanagers verwenden.
  1. phpMyAdmin wird nun in einem neuen Tab geöffnet und Ihnen wird die Liste der Tabellen angezeigt, aus denen die Datenbank besteht. Setzen Sie Häkchen vor die Tabellen, die Sie optimieren möchten.
  2. Nachdem Sie Ihre Auswahl getroffen haben, wählen Sie die Option Tabelle optimieren aus dem Dropdown-Menü. Die Option ist Teil des Abschnitts Tabellenpflege:
/ wp-Inhalt/uploads/2020/03/ reduce-mysql-database-size-3.png
/wp-Inhalt/Hochladen/2020/03/ reduce-mysql-database-size-3.png
  1. Sobald Sie den Befehl Optimize table ausgewählt haben, wird er automatisch ausgeführt und Ihre SQL-Abfrage wurde erfolgreich ausgeführt. nachricht:
 Erfolg! Die ausgewählten Tabellen wurden erfolgreich optimiert.
Erfolg! Die ausgewählten Tabellen wurden erfolgreich optimiert.

Beachten Sie, dass die Option Tabelle optimieren je nach Speichermodul, das Ihre Tabellen verwenden, unterschiedliche Aktionen ausführt. Daher können die Auswirkungen der Option von Tabelle zu Tabelle variieren. Dies gilt insbesondere, wenn Sie verschiedene Speicher-Engines verwenden und einige Ihrer Tabellen regelmäßig bearbeitet werden, während andere Tabellen relativ unverändert bleiben.

Wie komprimiere ich die Daten in einer MySQL-Datenbank?

Wie bereits erwähnt, verfügen verschiedene Speicher-Engines über unterschiedliche Funktionen. Ein herausragendes Merkmal der InnoDB Storage Engine ist ihre Fähigkeit, Ihre Daten ohne Informationsverlust zu komprimieren. Die Komprimierung ist am effektivsten, wenn Ihre Tabellen Spalten enthalten, die die TEXT, BLO, VARCHAR, und VARBINARYDatentypen.

Um die Komprimierung für eine bestimmte Tabelle auszuführen, müssen Sie zunächst sicherstellen, dass die betreffende Tabelle die InnoDB-Speicher-Engine verwendet. Sie finden diese Informationen in der Datenbankstrukturansicht von phpMyAdmin. Auf diese Ansicht kann am einfachsten zugegriffen werden, indem Sie auf Ihren Datenbanknamen klicken, wie im folgenden Screenshot gezeigt:

 Wenn Sie in phpMyAdmin auf Ihren Datenbanknamen klicken, gelangen Sie zur Strukturansicht Ihrer Datenbank.
Wenn Sie in phpMyAdmin auf Ihren Datenbanknamen klicken, gelangen Sie zur Strukturansicht Ihrer Datenbank.

Sobald Sie sich in der Strukturansicht befinden, sollten Sie eine Liste aller Tabellen sehen, die in Ihrer Datenbank enthalten sind. Die Spalte, in der Ihre aktuelle Speicher-Engine angezeigt wird, heißt Type und ist unten hervorgehoben:

 phpMyAdmin verwendet den nicht so offensichtlichen Spaltenüberschriftentyp, um die Speicher-Engine anzugeben, die jede Tabelle verwendet.
phpMyAdmin verwendet den nicht so offensichtlichen Spaltenüberschriftentyp, um die Speicher-Engine anzugeben, die jede Tabelle verwendet.

Wenn InnoDB in den Tabellen, die Sie komprimieren möchten, als Speicher-Engine aufgeführt ist, können Sie loslegen. Wenn Sie jedoch einen anderen Wert sehen, müssen Sie Ihre Tabelle (n) konvertieren, um zuerst die InnoDB-Speicher-Engine zu verwenden. Die Konvertierung erfolgt durch Ausführen eines kurzen SQL-Befehls. Wechseln Sie zunächst zur Registerkarte SQL in phpMyAdmin:

 Die Registerkarte SQL in phpMyAdmin gibt Ihnen die Freiheit, alle SQL-Befehle auszuführen, die Sie benötigen.
Die Registerkarte SQL in phpMyAdmin gibt Ihnen die Freiheit, alle SQL-Befehle auszuführen, die Sie benötigen.

Fügen Sie dort den folgenden Code ein:

ALTER TABLE my_table ENGINE = InnoDB;

Achten Sie darauf, my_table durch den Namen der Tabelle zu ersetzen, die Sie konvertieren möchten. In unserem Beispiel konvertieren wir eine Tabelle mit dem Namen orders , sodass unser Befehl folgendermaßen aussehen würde:

ALTER TABLE orders ENGINE = InnoDB;

Sobald Sie den Befehl eingegeben haben, klicken Sie auf die Schaltfläche Go in der unteren rechten Ecke, um ihn auszuführen. Wenn dies erfolgreich ist, sollte Ihnen eine Erfolgsmeldung wie die unten gezeigte angezeigt werden:

Je nach Inhalt Ihrer Tabelle wird möglicherweise eine andere Erfolgsmeldung angezeigt, die jedoch im Allgemeinen ähnlich aussehen sollte.
Je nach Inhalt Ihrer Tabelle wird möglicherweise eine andere Erfolgsmeldung angezeigt, die jedoch im Allgemeinen ähnlich aussehen sollte.

Wenn Sie mehrere Tabellen in die InnoDB Storage Engine konvertieren möchten, müssen Sie den obigen Befehl für jede von ihnen ausführen.

Nachdem Ihre Tabellen nun InnoDB verwenden, können Sie mit der eigentlichen MySQL-Datenkomprimierung fortfahren. Die Komprimierung selbst ist ein kurzer SQL-Befehl, der auch über die Registerkarte SQL in phpMyAdmin ausgeführt werden muss. Hier ist der Befehl:

ALTER TABLE my_table ROW_FORMAT=COMPRESSED;

Genau wie bei der Tabellenkonvertierung müssen Sie my_table durch den tatsächlichen Namen Ihrer Tabelle ersetzen. Als Beispiel komprimieren wir im folgenden Screenshot die Tabelle mit dem Namen orders:

 MySQL-Datenkomprimierung mag kompliziert klingen, aber es ist in der Tat ein einfacher SQL-Befehl, den Sie ausführen müssen.
MySQL-Datenkomprimierung mag kompliziert klingen, aber es ist in der Tat ein einfacher SQL-Befehl, den Sie ausführen müssen.

Sobald Sie den Komprimierungsbefehl eingegeben haben, drücken Sie die Go-Taste, um ihn auszuführen. Wenn Sie mehrere Tabellen komprimieren möchten, können Sie dies tun, indem Sie den SQL-Befehl für jede Tabelle ausführen.

Wenn mit der Komprimierung alles gut geht, sollte phpMyAdmin Sie mit einer ähnlichen Erfolgsmeldung begrüßen.
Wenn mit der Komprimierung alles gut geht, sollte phpMyAdmin Sie mit einer ähnlichen Erfolgsmeldung begrüßen.

Wie lösche ich Tabellen mit phpMyAdmin?

Ihre andere Alternative, wenn es darum geht, Speicherplatz freizugeben, besteht darin, nicht mehr benötigte Daten aus Ihrer Datenbank zu entfernen. Sie können entweder einzelne Einträge oder ganze Tabellen löschen.

Um eine Tabelle zu löschen, gehen Sie einfach zur Registerkarte Struktur für Ihre Datenbank, damit Sie alle Ihre Tabellen sehen. Wählen Sie dort die Drop-Option neben der Tabelle, die Sie löschen möchten, und bestätigen Sie Ihre Auswahl. Überprüfen Sie, ob Sie die richtige Tabelle ausgewählt haben, bevor Sie den Löschvorgang bestätigen, da diese Aktion nicht rückgängig gemacht werden kann.

phpMyAdmin verwendet den Begriff Drop, um sich auf das Löschen einer ganzen Tabelle zu beziehen.
phpMyAdmin verwendet den Begriff Drop, um sich auf das Löschen einer ganzen Tabelle zu beziehen.

Wenn das Löschen einer gesamten Datenbanktabelle für Sie keine Option ist, können Sie einzelne Einträge aus verschiedenen Tabellen entfernen, die Sie nicht mehr benötigen. Dies kann durch Ausführen verschiedener SQL-Befehle erreicht werden. Im Folgenden zeigen wir einen sehr einfachen SQL-Befehl, mit dem ein einzelner Datenbankeintrag gelöscht werden kann.

Eine Beispieltabelle mit zwei Einträgen (Zeilen). Wir werden die zweite Reihe entfernen.
Eine Beispieltabelle mit zwei Einträgen (Zeilen). Wir werden die zweite Reihe entfernen.

In diesem Beispiel verwenden wir die obige Tabelle mit zwei Zeilen. Ziel ist es, die zweite Reihe zu entfernen und gleichzeitig die erste zu erhalten.

Sie werden feststellen, dass alle Tabellen normalerweise eine ID-Spalte haben, die eine eindeutige Nummer enthält, die den angegebenen Eintrag identifiziert. In unserem Beispiel heißt die ID-Spalte tatsächlich id, aber Ihre Tabellen verwenden möglicherweise ein anderes Wort als Spaltentitel. Wenn Sie die Spalte gefunden haben, in der die eindeutigen Bezeichner für jeden Eintrag gespeichert sind, notieren Sie sich den Wert, der dem Eintrag (Zeile) zugeordnet ist, den Sie löschen möchten. Wechseln Sie mit diesen Informationen zur Registerkarte SQL und führen Sie den folgenden SQL-Befehl aus:

DELETE FROM my_table where id_column = 'my_id';

Im obigen Code müssen Sie drei Ersetzungen vornehmen:

  • my_table sollte durch den Namen der Tabelle ersetzt werden, aus der Sie löschen.
  • id_column sollte durch den Namen der Spalte ersetzt werden, in der Ihre eindeutigen Bezeichner gespeichert sind.
  • my_id sollte durch den tatsächlichen Bezeichner für die Zeile ersetzt werden, die Sie löschen möchten.

Unser Beispiel verwendet die products-Tabelle. Diese Tabelle hat eine id Spalte und die eindeutige Kennung für den Eintrag, den wir löschen möchten, ist 2. Unser SQL-Befehl sollte also so aussehen:

 Ein grundlegender SQL-Befehl zum Löschen eines Eintrags mit einer bestimmten Kennung. Mit genügend SQL-Kenntnissen können Sie komplexe Abfragen erstellen, die Daten basierend auf mehreren Kriterien löschen.
Ein grundlegender SQL-Befehl zum Löschen eines Eintrags mit einer bestimmten Kennung. Mit genügend SQL-Kenntnissen können Sie komplexe Abfragen erstellen, die Daten basierend auf mehreren Kriterien löschen.

Wenn wir die Go-Taste drücken, wird der SQL-Befehl ausgeführt und das Löschen wird abgeschlossen. Jetzt enthält unsere Tabelle nicht mehr den zweiten Eintrag:

 Seien Sie besonders vorsichtig, wenn Sie den Löschbefehl verwenden! Stellen Sie vor allem sicher, dass Sie die Spalte, die die eindeutigen Bezeichner für die Tabelle enthält, erfolgreich gefunden haben.
Seien Sie besonders vorsichtig, wenn Sie den Befehl DELETE verwenden! Stellen Sie vor allem sicher, dass Sie die Spalte, die die eindeutigen Bezeichner für die Tabelle enthält, erfolgreich gefunden haben.

Wenn Sie ein modernes Content-Management-System wie WordPress, Drupal, Joomla oder ähnliches verwenden, sollten Sie die Backend-Verwaltungstools des CMS für die Datenverwaltung und -entfernung in Betracht ziehen. Das manuelle Löschen von Einträgen aus der Datenbank sollte Ihr letzter Ausweg sein.

Fazit

Als Websitebesitzer ist es immer eine gute Idee, die Datenbanknutzung im Auge zu behalten. Dies gilt insbesondere, wenn Sie einen Shared-Hosting-Plan verwenden und Ihre Datenbankgröße begrenzt ist. Wenn Sie Ihr Speicherlimit erreichen, kann Ihre Website alle Arten von Warnungen und Fehlermeldungen anzeigen, z. B. die verwirrende Meldung „Befehl EINFÜGEN für Benutzer verweigert“.

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht.