Performance
Généralités
Indexation, organisation des données
Agir au niveau du code SQL
-
Décomposer une jointure complexe pour passer de boucles imbriquées (NESTED LOOP) à deux jointures par hachage (HASH JOIN)
-
Décomposer une requête grâce aux CTE (common table expressions, with queries) pour l'optimiser
-
Comportement du planner (optimiseur) avec les CTE (common table expressions, with queries)
-
Décaler les valeurs d'une colonne, SQL-92 vs PL/pgSQL vs SQL:2003
-
UPSERT : PL/pgSQL, CTE (with query) ou INSERT .. CONFLICT
-
Éviter les jointures inutiles
-
Prenez les choses du bon côté, JOIN LATERAL
-
Prenez les choses du bon côté, JOIN LATERAL, considérations avancées, indexation (composite, partielle), partitionnement, contexte
-
Fonctionnalités analytiques
-
Grouper avant de fenêtrer
-
Grouper avant de joindre
-
Grouper selon plusieurs critères, GROUP BY GROUPING SETS
-
Filtrer avant dappliquer une fonction dagrégat, FILTER
-
Filtrer plus efficacement sur les dates, TIMESTAMP
-
Sonder pour décider : léchantillonnage avec TABLESAMPLE
-
IN ou EXISTS ?
-
IN / EXISTS ou JOIN?
Mise à jour : 23/04/2026