BackendDatabase

PostgreSQL : index et query optimization

Reduire les temps de requete de 10x grace a une strategie d'indexation intelligente.

20 déc. 2025
9 min
2101 vues

La performance commence par les index

Une requête PostgreSQL lente est presque toujours un problème d'indexation. Comprendre comment PostgreSQL utilise les index est essentiel pour tout développeur backend.

Types d'index

  • B-tree — Le défaut, idéal pour les comparaisons d'égalité et de plage
  • GIN — Pour les recherches full-text et les tableaux
  • GiST — Pour les données géospatiales et les plages
  • BRIN — Pour les tables très larges avec des données naturellement ordonnées

EXPLAIN ANALYZE

Toujours commencer par analyser le plan d'exécution :

EXPLAIN ANALYZE
SELECT * FROM orders
WHERE customer_id = 'abc123'
AND created_at > NOW() - INTERVAL '30 days'
ORDER BY created_at DESC
LIMIT 20;

Index composites

L'ordre des colonnes dans un index composite est crucial. La règle : filtres d'égalité d'abord, plages ensuite, tri en dernier.

CREATE INDEX idx_orders_customer_date
ON orders (customer_id, created_at DESC);

Conclusion

Une stratégie d'indexation réfléchie peut transformer les performances de votre application, passant de secondes à millisecondes.