Einer der Hauptgründe für die Verlangsamung großer WordPress-Sites ist, dass ihre Database nicht optimiert wurde. Viele ältere Seiten verwenden immer noch die MyISAM-Speicher-Engine in ihrer Database. InnoDB hat sich in den letzten Jahren mit besserer Performance gezeigt und als zuverlässiger erwiesen.  Ein starker Grund, InnoDB über MyISAM zu verwenden, ist das Fehlen einer vollständigen Sperrung auf Verzeichnisebene. Dadurch können deine Abfragen schneller verarbeitet werden.

InnoDB vs MyISAM

Hier sind einige der wichtigsten Unterschiede zwischen InnoDB und MyISAM:

  • InnoDB hat Sperren auf Zeilenebene. MyISAM verfügt nur über vollständige Sperren auf Verzeichnisebene.
  • InnoDB verfügt über eine sogenannte referenzielle Integrität, welche die Unterstützung von Fremdschlüsseln (RDBMS) und Beziehungsbeschränkungen beinhaltet, MyISAM nicht (DMBS).
  • InnoDB unterstützt Transaktionen, das heißt du kannst einen Commit und einen Rollback ausführen. MyISAM tut das nicht.
  • InnoDB ist zuverlässiger, da es Transaktionsprotokolle für die automatische Wiederherstellung verwendet. MyISAM tut das nicht.

Nutzt du MyISAM oder InnoDB?

Wenn du auf einer relativ neuen WordPress-Seite läufst, setzt du möglicherweise bereits die InnoDB MySQL Storage Engine ein. Bei älteren WordPress-Seiten solltest du jedoch eine kurze Überprüfung durchführen. Einige Websites haben möglicherweise sogar MyISAM- und InnoDB-Verzeichnisse gemischt und abgeglichen, in denen du Verbesserungen sehen kannst, wenn du sie alle konvertierst.  Befolge diese einfachen Schritte, um dies zu überprüfen.

Schritt 1

Melde dich bei phpMyAdmin an und klicke in deine mySQL-Database

Schritt 2

Führe einen kurzen Scan durch oder sortiere die Spalte „Typ“. Du kannst sehen, welche Storage Engine-Typen deine Verzeichnisse verwenden. In diesem Beispiel unten siehst du, dass zwei der Verzeichnisse immer noch MyISAM verwenden.

Finde MyISAM-Verzeichnisse
Finde MyISAM-Verzeichnisse

Alternativ kannst du eine Abfrage ausführen, um festzustellen, ob myISAM-Verzeichnisse vorhanden sind. Ersetze „Database“ durch deinen Databasenamen.

SELECT TABLE_NAME,
 ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'database' and ENGINE = 'myISAM'

Konvertiere MyISAM zu InnoDB mit phpMyAdmin

Du kannst MyISAM relativ einfach in InnoDB konvertieren. In diesem Beispiel wird das Verzeichnis wp_comments verwendet. Führe einfach den ALTER-Befehl aus, um es in die InnoDB-Speicher-Engine zu konvertieren. Notiz: Wir empfehlen immer, deine MySQL-Database vorher zu sichern bevor du irgendwelche Aktionen darauf ausführen.

ALTER TABLE wp_comments ENGINE=InnoDB;
Stelle sicher, dass du MySQL 5.6.4 oder höher ausführst. Andernfalls können Probleme auftreten, bei denen die Volltextindizierung von InnoDB noch nicht unterstützt wird. Wenn du ein Kunde von Kinsta bist, musst du dir keine Sorgen machen.

Alternativ kannst du sie auch manuell mit phpMyAdmin konvertieren. Klicke einfach auf das myISAM-Verzeichnis, klicke auf die Registerkarte „Operations” („Vorgänge“) und ändere die Storage Engine.

Konvertiere MyISAM zu InnoDB
Konvertiere MyISAM zu InnoDB

Konvertiere MyISAM zu InnoDB mit WP-CLI

WP-CLI ist ein Kommandozeilen-Tool für Entwickler zur Verwaltung häufige Aufgaben (und nicht so häufig) einer WordPress-Installation. Checke diesen Artikel zu Konvertiere MyISAM zu InnoDB mit WP-CLI.