Datenbank-Performance: Wenn Abfragen Minuten statt Sekunden brauchen

Der Report lief früher in 5 Sekunden. Jetzt braucht er 3 Minuten. Die Datenbank ist gewachsen, aber niemand hat die Abfragen angepasst. Ein typisches Szenario in gewachsenen Systemen.

Die häufigsten Performance-Killer

1. Fehlende Indizes

Die Datenbank durchsucht bei jeder Abfrage alle Zeilen (Full Table Scan). Mit dem richtigen Index findet sie die Daten direkt.

Symptom: Abfragen werden proportional zur Datenmenge langsamer.

Lösung: Indizes auf häufig gefilterte und sortierte Spalten setzen.

2. SELECT *

Die Anwendung holt alle Spalten, braucht aber nur drei davon. Das kostet Bandbreite und Speicher.

Symptom: Hoher Netzwerk-Traffic zwischen Anwendung und Datenbank.

Lösung: Nur benötigte Spalten explizit auflisten.

3. N+1 Queries

Die Anwendung holt erst alle Bestellungen, dann für jede Bestellung separat den Kunden. Bei 1000 Bestellungen: 1001 Queries.

Symptom: Viele kleine, schnelle Queries statt weniger großer.

Lösung: JOINs oder Batch-Loading nutzen.

4. Fehlende Archivierung

Die Tabelle enthält Daten aus 10 Jahren. 95% davon werden nie abgefragt, verlangsamen aber jede Suche.

Symptom: Auch einfache Abfragen sind langsam.

Lösung: Alte Daten in Archiv-Tabellen auslagern.

Analyse-Werkzeuge

  • EXPLAIN/EXPLAIN ANALYZE – zeigt den Query-Plan
  • Slow Query Log – protokolliert langsame Abfragen
  • Monitoring – pg_stat_statements (PostgreSQL), Performance Schema (MySQL)

Praxisbeispiel

Bei einem Kunden aus der Logistikbranche dauerte der Tagesbericht 45 Minuten. Nach Analyse: fehlende Indizes und ein N+1-Problem. Nach Optimierung: 12 Sekunden.

Nächster Schritt

Ihre Datenbank wird langsamer und Sie wissen nicht warum? Lassen Sie uns die Ursachen gemeinsam analysieren.

Haben Sie weitere Fragen oder Anregungen?

Kontaktieren Sie uns gerne