Zum Inhalt springen
_CORE
KI & Agentensysteme Unternehmensinformationssysteme Cloud & Platform Engineering Datenplattform & Integration Sicherheit & Compliance QA, Testing & Observability IoT, Automatisierung & Robotik Mobile & Digitale Produkte Banken & Finanzen Versicherungen Öffentliche Verwaltung Verteidigung & Sicherheit Gesundheitswesen Energie & Versorgung Telko & Medien Industrie & Fertigung Logistik & E-Commerce Retail & Treueprogramme
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

PostgreSQL EXPLAIN ANALYZE

12. 05. 2020 Aktualisiert: 27. 03. 2026 1 Min. Lesezeit intermediate
Dieser Artikel wurde veröffentlicht im Jahr 2020. Einige Informationen können veraltet sein.

EXPLAIN ANALYZE ist das wichtigste Optimierungswerkzeug.

Verwendung

EXPLAIN ANALYZE SELECT * FROM orders WHERE user_id=123;
EXPLAIN (ANALYZE, BUFFERS) SELECT ...;

Scans

  • Seq Scan — gesamte Tabelle
  • Index Scan — Index + Fetch
  • Index Only Scan — nur Index
  • Bitmap — für mehrere Zeilen

Joins

  • Nested Loop — kleine Tabellen
  • Hash Join — große ohne Index
  • Merge Join — sortierte Daten

Optimierung

  • Fehlenden Index hinzufügen
  • ANALYZE für Statistiken
  • Subquery → JOIN
  • work_mem für Sortierungen erhöhen

EXPLAIN-Ausgabe lesen

Achten Sie bei der Analyse der EXPLAIN-ANALYZE-Ausgabe auf den Unterschied zwischen geschaetzten Kosten und tatsaechlicher Zeit. Eine grosse Abweichung signalisiert veraltete Statistiken — fuehren Sie ANALYZE auf der betreffenden Tabelle aus. Ein Seq Scan auf einer grossen Tabelle mit WHERE-Bedingung bedeutet normalerweise einen fehlenden Index.

Ueberwachen Sie Buffers: shared hit vs. shared read — ein hoher Read-Anteil bedeutet, dass Daten nicht im Cache sind und von der Festplatte gelesen werden. Eine Erhoehung von shared_buffers kann helfen. Bei Sort-Operationen pruefen Sie, ob sie im Speicher oder auf der Festplatte ausgefuehrt werden (Sort Method: external merge). Erhoehen Sie in diesem Fall work_mem. Die auto_explain-Erweiterung mit dem Parameter log_min_duration protokolliert automatisch langsame Abfragen mit ihren Plaenen, was fuer die Produktionsoptimierung unerlaesslich ist.

EXPLAIN = Abfrage-Debugging

Cost vs. Actual deckt Probleme auf.

postgresqlexplainquery optimization
Teilen:

CORE SYSTEMS Team

Wir bauen Kernsysteme und KI-Agenten, die den Betrieb am Laufen halten. 15 Jahre Erfahrung mit Enterprise-IT.