PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Pourquoi Postgres n'utilise-t-il pas l'index ?

À cause de :

Seq Scan on invoices  (...) (actual ... rows=118027 <— this
   Filter: (account_id = 1)
   Rows Removed by Filter: 51462                    <— vs this
 Total runtime: 39.917 ms

Vous sélectionnez tellement de lignes qu'il est moins coûteux de lire l'intégralité du tableau.

Questions et réponses antérieures associées d'aujourd'hui pour une lecture plus approfondie :

  • Pourquoi Postgresql n'utilise-t-il pas l'index pour les requêtes IN ?

  • Postgres utilise un mauvais index lors de l'interrogation d'une vue d'expressions indexées ?

(Voir aussi la réponse plus longue de Craig sur la seconde pour des notes supplémentaires sur les subtilités des index.)