EXPLAIN / EXPLAIN ANALYZE

PostgreSQL 🟡 Mid

Definition

EXPLAIN montre le plan d'execution prevu d'une requete. EXPLAIN ANALYZE execute reellement la requete et montre les temps reels. Essentiel pour l'optimisation.

Analogie

EXPLAIN = le GPS qui te montre l'itineraire prevu. EXPLAIN ANALYZE = le GPS avec le temps reel du trajet.

Exemple de code

EXPLAIN ANALYZE
SELECT u.name, COUNT(o.id)
FROM users u
JOIN orders o ON u.id = o.user_id
GROUP BY u.name;

Cas d'usage

Diagnostiquer les requetes lentes, verifier l'utilisation des index et optimiser les jointures.

Anti-pattern

Utiliser EXPLAIN ANALYZE sur une requete DELETE ou UPDATE sans transaction, les donnees sont reellement modifiees.

Termes lies

#sgbd#interview#database#postgresql