Sobes.tech
Middle+

Was ist der Unterschied zwischen den Befehlen EXPLAIN und EXPLAIN ANALYZE in PostgreSQL?

sobes.tech KI

Antwort von AI

Der Befehl EXPLAIN in PostgreSQL zeigt den Ausführungsplan einer SQL-Abfrage, also wie die Datenbank die Daten (verwendete Indizes, sequenzielle Scans, Joins usw.) abrufen möchte. Er führt die Abfrage nicht aus, sondern analysiert sie nur.

EXPLAIN ANALYZE zeigt nicht nur den Plan, sondern führt die Abfrage auch tatsächlich aus, sammelt Statistiken über die Ausführungszeit jedes Schritts und die Anzahl der verarbeiteten Zeilen. So kann man die tatsächliche Leistung sehen und Engpässe erkennen.

Beispiel:

EXPLAIN SELECT * FROM users WHERE id = 10;

EXPLAIN ANALYZE SELECT * FROM users WHERE id = 10;

Der erste zeigt den Plan, der zweite — den Plan mit realen Metriken.