PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Por que o Postgres não está usando o índice?


Por causa 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

Você está selecionando tantas linhas que fica mais barato ler a tabela inteira.

Perguntas e respostas anteriores relacionadas de hoje para leitura adicional:

  • Por que o Postgresql não usa o índice para a consulta IN?

  • Postgres usando índice errado ao consultar uma exibição de expressões indexadas?

(Veja também a resposta mais longa de Craig na segunda para notas adicionais sobre sutilezas de índices.)