Sobes.tech
Middle+

Czym różnią się polecenia EXPLAIN i EXPLAIN ANALYZE w PostgreSQL?

sobes.tech AI

Odpowiedź od AI

Polecenie EXPLAIN w PostgreSQL wyświetla plan wykonania zapytania SQL, czyli jak system zarządzania bazą danych zamierza uzyskać dane (używane indeksy, skanowanie sekwencyjne, łączenia itp.). Nie wykonuje samego zapytania, a jedynie je analizuje.

EXPLAIN ANALYZE nie tylko wyświetla plan, ale także faktycznie wykonuje zapytanie, zbierając statystyki o czasie wykonania każdego kroku i liczbie przetworzonych wierszy. Pozwala to zobaczyć rzeczywistą wydajność i zidentyfikować wąskie gardła.

Przykład:

EXPLAIN SELECT * FROM users WHERE id = 10;

EXPLAIN ANALYZE SELECT * FROM users WHERE id = 10;

Pierwszy pokaże plan, drugi — plan z rzeczywistymi metrykami wykonania.