Exercice 48 / 60

Performance - EXPLAIN

Écris la requête qui compte le nombre de cours par étudiant (LEFT JOIN inscriptions, GROUP BY étudiant, colonne nb_cours), en ne gardant que ceux ayant plus de 2 cours, triée par nb_cours décroissant puis par nom. La leçon explique comment lire son plan d'exécution avec EXPLAIN ANALYZE.

explain analyze montre comment PostgreSQL exécute une requête et le temps réel pris. C'est l'outil pour diagnostiquer la lenteur. Syntaxe : explain analyze select ...;

A lire

Seq Scan = parcours de toute la table (lent, souvent un index manque) Index Scan = accès direct via un index (rapide) actual time = temps réel en millisecondes
EXPLAIN ANALYZE dit comment PostgreSQL a exécuté la requête : un Seq Scan parcourt toute la table, un Index Scan va droit à la ligne

Exemple (clients + commandes) :

EXPLAIN ANALYZE SELECT c.nom, COUNT(cmd.id) FROM clients c LEFT JOIN commandes cmd ON c.id = cmd.client_id GROUP BY c.nom;
cours
idnomprofesseursallecreditsduree_heures
etudiants
idnomprenomemailnotevilleagedate_inscriptiondepartementcompetences
inscriptions
idetudiant_idcours_iddate_inscription
query.sql

Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →