PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Perché Postgres non utilizza l'indice?

A causa di:

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

Stai selezionando così tante righe che è più economico leggere l'intera tabella.

Domande e risposte precedenti correlate da oggi per ulteriori letture:

  • Perché Postgresql non usa l'indice per la query IN?

  • Postgres utilizza un indice errato durante la query di una vista di espressioni indicizzate?

(Vedi anche la risposta più lunga di Craig sulla seconda per note aggiuntive sulle sottigliezze degli indici.)