Wie man eine WordPress-Datenbank wartet

Verursacht unnötig grosse WordPress-Datenbanken: der Überhang
Verursacht unnötig grosse WordPress-Datenbanken: der Überhang

Dieses Blog ist beliebt – nicht zuletzt bei Spammern. Während ich diese Zeilen schreibe treffen etwa ein halbes Dutzend Spam-Kommentare pro Minute(!) ein. Dank Akismeth wandert dieser Wortmüll zwar direkt ins Spam-Verzeichnis, belastet aber immer noch unnötig meine Datenbank. Und obwohl es im WordPress-Backend die Möglichkeit gibt, Spam-Kommentare dauerhaft zu löschen (unter Kommentare > Spam > Spam leeren), ist die Datenbank-Tabelle wp_comments nach einer solchen Säuberungsaktion kein Bit kleiner. Warum ist das so – und was tut man dagegen?

Der Überhang – unbenutzter Speicherplatz in MySQL-Datenbanken

Lässt man sich in phpMyAdmin die Datenbankstruktur anzeigen, dann wird rasch klar, wo das Problem liegt: Den Löwenanteil des Speicherplatzes belegen nicht die wenigen verbliebenen Datensätze, sondern der Überhang (engl. Overhead) in der letzten Spalte. Dabei handelt es sich um nicht mehr benutzten Speicherplatz, der durch die Löschung der Spam-Kommentare frei geworden ist. Leider optimiert MySQL die Datenbankdateien nicht selbständig – mit phpMyAdmin lässt sich dies aber leicht manuell tun.

Zunächst klickt man auf die Zahl, welche die Grösse des Überhangs angibt. Dadurch gelangt man auf die Strukturübersicht der entsprechenden Tabelle. Unten an der Seite im Bereich Information wird der Speicherplatzverbrauch dieser Tabelle detailliert aufgeschlüsselt:

Speicherplatzverbrauch einer MySQL-Tabelle
Speicherplatzverbrauch einer MySQL-Tabelle

In unserem Beispiel belegen die eigentlichen Daten also nur gerade 4.4 MiB, während sagenhafte 364.6 MiB sinnlos den Server belasten. Aber nicht mehr lange: Ein Klick auf den Link “Optimiere Tabelle” genügt, und phpMyAdmin befreit die Datenbankdatei innert Sekunden von unbenutztem Speicher. Seien Sie übrigens nicht überrascht, wenn die Datenbanktabelle sogar noch kleiner geworden ist, als Sie erwarten würden – Ihre Daten sind trotzdem noch da (wie man anhand der Anzahl der Datensätze in der rechten Spalte unschwer erkennen kann).

Speicherplatzbedarf nach der Optimierung mit phpMyAdmin
Speicherplatzbedarf nach der Optimierung mit phpMyAdmin

Statt nun aber jede Tabelle mit Überhang einzeln zu optimieren gibt es auch eine bequeme Abkürzung: In der Strukturübersicht der gesamten Datenbank klickt man unten zuerst Tabellen mit Überhang auswählen und ruft dann den Befehl Optimiere Tabelle auf.

Alle Tabellen mit Überhang auswählen und optimieren
Alle Tabellen mit Überhang auswählen und optimieren

Plug-ins zur Wartung eines WordPress Blogs

Auch wenn es technisch nicht besonders anspruchsvoll ist: Es ist wahrscheinlich nicht jedermanns Sache, mit phpMyAdmin die Datenbank manuell aufzuräumen. Es gibt aber auch Plug-ins, welche solche Dienste anbieten, beispielsweise WP-Optimize oder WP Database Optimizer. Der Vorteil solcher Plug-ins besteht darin, dass man lediglich Zugriff auf das WordPress-Backend benötigt, um sie zu nutzen. Ausserdem kann die Datenbank-Optimierung so auch automatisiert werden.

Hinterlassen Sie einen Kommentar