Datenbank-Indizes: WordPress ohne neues Hosting beschleunigen
26.7.2026
Wenn WordPress langsam ist, denkt man zuerst an Caching oder Hosting. Doch sehr oft ist die Ursache eine Datenbank, die pro Abfrage zu viel Arbeit leistet. Stellen Sie sich eine wp_postmeta-Tabelle mit 800.000 Zeilen vor und eine Abfrage nach jedem Produkt mit einem bestimmten Merkmal. Ohne Index muss MySQL alle 800.000 Zeilen einzeln lesen — das ist ein „Full Table Scan" und dauert Sekunden. Mit dem richtigen Index liefert dieselbe Abfrage in wenigen Millisekunden.
Was ein Index ist und warum er hilft
Ein Index ist wie das Stichwortverzeichnis am Ende eines Buches. Statt jede Seite nach einem Begriff durchzublättern, schauen Sie ins Verzeichnis, das Sie direkt zur richtigen Seite führt. In einer Datenbank ist ein Index eine separate Struktur (meist ein B-Baum), die die Werte einer oder mehrerer Spalten sortiert hält, mit einem Zeiger auf die Zeile. Filtert eine Abfrage nach dieser Spalte (WHERE), nutzt die Datenbank den Index und überspringt den Rest der Tabelle.
Wo es bei WordPress meist klemmt
Die Tabelle wp_postmeta ist der häufigste Engpass. Sie speichert alles — von SEO-Beschreibungen bis zu WooCommerce-Produktdaten — und wächst leicht auf Hunderttausende Zeilen. Standard-WordPress hat einen Index auf meta_key, aber viele Abfragen filtern nach einer Kombination aus meta_key und meta_value. Ebenso leidet wp_options, wenn sich autoloaded-Optionen anhäufen, und bei großen Seiten hat wp_posts langsame Abfragen auf post_status und post_type.
Langsame Abfragen finden
Raten Sie nicht — messen Sie. Einige Wege:
- Das Plugin Query Monitor zeigt jede Abfrage einer Seite, nach Dauer sortiert, und hebt die langsamen hervor.
- Das MySQL Slow Query Log protokolliert jede Abfrage über einem festgelegten Schwellwert (z. B. 1 Sekunde).
- Der Befehl
EXPLAINvor einer Abfrage zeigt, ob die Datenbank einen Index nutzt oder einen Full Scan macht (eine „type"-Spalte mit ALL ist eine Warnung).
Einen Index hinzufügen
Ein zusammengesetzter Index auf wp_postmeta, der Schlüssel und Wertanfang abdeckt, sieht so aus:
ALTER TABLE wp_postmeta ADD INDEX meta_key_value (meta_key(191), meta_value(100));
Für die Tabelle wp_options hilft ein Index auf die Spalte autoload, weil WordPress auf jeder Seite alle autoload-Optionen lädt. Bei Unsicherheit fügen Plugins wie Index WP MySQL For Speed getestete, sichere Indizes mit einem Klick hinzu und messen das Ergebnis vorher und nachher.
Vorsicht: ein Index ist nicht kostenlos
Jeder Index beschleunigt Lesevorgänge, verlangsamt aber Schreibvorgänge, weil die Datenbank den Index bei jedem INSERT/UPDATE aktualisieren muss. Indizieren Sie also nicht alles — indizieren Sie die Spalten, nach denen Sie wirklich filtern oder sortieren. Für eine leselastige Seite (Blog, Broschürenseite) sind Indizes fast reiner Gewinn. Für eine schreiblastige Seite (ein aktiver Shop) sollten Sie abwägen.
Regelmäßige Datenbankpflege
Indizes wirken am besten auf einer sauberen Datenbank. Löschen Sie alte Beitragsrevisionen, abgelaufene Transients, Spam-Kommentare und Reste entfernter Plugins. Eine kleinere Tabelle bedeutet einen kleineren Index und schnellere Abfragen. Das geht Hand in Hand mit der Optimierung der Datenbank selbst.
Häufige Fragen
Kann ein Index etwas kaputtmachen? Er ändert Ihre Daten nicht, sondern fügt nur eine Struktur für schnellere Suchen hinzu. Machen Sie dennoch auf einer großen Produktionstabelle vor ALTER TABLE ein Backup, da der Vorgang die Tabelle kurz sperren kann.
Ersetzt ein Index das Caching? Nein, er ergänzt es. Ein Cache vermeidet das Wiederholen einer Abfrage, ein Index beschleunigt die Abfrage, wenn sie doch laufen muss. Die schnellsten Seiten nutzen beides.
Auf unseren WordPress-Hosting-Paketen läuft die Datenbank auf einem NVMe-Laufwerk, sodass selbst unoptimierte Abfragen schneller sind — und mit guten Indizes ist der Unterschied dramatisch. Sehen Sie sich unsere Pakete und Preise an.