EXPLAIN / EXPLAIN ANALYZE
PostgreSQL 🟡 MidDefinition
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.