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