Slow Queries in MySQL finden und beschleunigen

MySQL Queries optimieren
Kommentare

Trotz dem Anlegen normalisierter Tabellenstrukturen und dem Setzen geeigneter Indizes können in MySQL Queries generiert werden, deren Ausführung einige Sekunden dauert. Bei einem Einsatz im Web sind solche Antwortzeiten nicht akzeptabel und zumeist durch einfaches Umstellen der Abfragen optimierbar – vorausgesetzt man erkennt überhaupt, dass Slow Queries im System vorhanden sind.

Die Geschwindigkeit einer Datenbank ist von vielen Faktoren abhängig. Die Arbeit beginnt hier bereits beim Design der Datenbank, da sowohl Struktur als auch Indizes maßgeblich zur Geschwindigkeit von Queries beitragen. Aber selbst wenn man alles richtig gemacht hat, kann es beim Vorhandensein großer Datenmengen – zum Beispiel bei komplexen Joins, aber auch bei der Nutzung von Foreign Keys (InnoDB) – vorkommen, dass eine Query eine Rechenleistung von einigen Sekunden verschlingt. Hierbei gibt es keinen festen Regeln wann man in eine solche Falle gerät, aber die Optimierungsmöglichkeiten in MySQL sind diesbezüglich schier unendlich.

Anstatt das Übel an der Wurzel zu packen, wird in der Regel mit einem Caching gearbeitet. Dies erfüllt zwar seinen Zweck, funktioniert aber nur so lange man nicht auf Echtzeitdaten angewiesen ist. Der Benutzer wäre zum Beispiel nicht sehr erfreut, wenn Facebook seinen Newsfeed nur einmal pro Stunde aktualisieren würde.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -