Sobes.tech
Middle

Comment avez-vous optimisé PostgreSQL ? Que faire avec une requête SELECT lente ?

sobes.tech IA

Réponse de l'IA

L'optimisation de PostgreSQL commence par l'analyse d'une requête SELECT lente :

  • Utiliser EXPLAIN ANALYZE pour comprendre le plan d'exécution et identifier les points de congestion.
  • Vérifier l'existence et la correction des index sur les champs utilisés dans les filtres et les jointures.
  • Éviter SELECT *, ne sélectionner que les colonnes nécessaires.
  • Réécrire la requête si elle est trop complexe, la diviser en plusieurs ou utiliser des CTE.
  • Vérifier les statistiques des tables et, si nécessaire, exécuter ANALYZE.
  • Envisager de mettre en cache les résultats ou d'utiliser des vues matérialisées.

Exemple :

EXPLAIN ANALYZE SELECT id, name FROM users WHERE email = 'example@example.com';

Si la requête est lente, il se peut qu'il n'y ait pas d'index sur email. Il faut alors en créer un :

CREATE INDEX idx_users_email ON users(email);

Après cela, la requête devrait s'exécuter beaucoup plus rapidement.