Optimisation requête PostgreSQL : 30 secondes → <100ms ?
-
sandra1960
- Messages : 34
- Inscription : mar. mars 10, 2026 7:25 pm
Optimisation requête PostgreSQL : 30 secondes → <100ms ?
Bonjour, j'ai une requête sur une table de 2M lignes qui joint 5 tables. Elle prend 30s en prod ! EXPLAIN montre un seq scan sur la table 'transactions'. Un index serait la solution ?
Le cloud c'est l'ordi de quelqu'un d'autre
Re: Optimisation requête PostgreSQL : 30 secondes → <100ms ?
Commence par vérifier si tu as bien un index sur les colonnes de jointure. Mais attention aux index inutiles qui ralentissent les INSERT. Peux-tu partager ton EXPLAIN ANALYZE ?
Re: Optimisation requête PostgreSQL : 30 secondes → <100ms ?
J'ai eu un cas similaire. En plus des indexes, regarde tes paramètres work_mem et shared_buffers. Sur un serveur 16GB, j'ai gagné 70% en ajustant ces valeurs.
Le cloud c'est l'ordi de quelqu'un d'autre
-
sandra1960
- Messages : 34
- Inscription : mar. mars 10, 2026 7:25 pm
Re: Optimisation requête PostgreSQL : 30 secondes → <100ms ?
Merci ! Voici l'EXPLAIN : Seq Scan sur transactions (cost=0.00..45821.33 rows=...). Pas d'index effectivement. Je vais en créer un sur customer_id et date_created.
Le cloud c'est l'ordi de quelqu'un d'autre
Re: Optimisation requête PostgreSQL : 30 secondes → <100ms ?
Attention à l'ordre des colonnes dans ton index ! Mets d'abord customer_id si c'est ta condition WHERE principale. Et pense aux index partiels si tu filtres souvent par date.
-
sandra1960
- Messages : 34
- Inscription : mar. mars 10, 2026 7:25 pm
Re: Optimisation requête PostgreSQL : 30 secondes → <100ms ?
UPDATE : Après création d'un index composite (customer_id, date_created) WHERE status='completed', la requête est descendue à 87ms ! Merci à tous !
Le cloud c'est l'ordi de quelqu'un d'autre