Kvůli:
Seq Scan on invoices (...) (actual ... rows=118027 <— this
Filter: (account_id = 1)
Rows Removed by Filter: 51462 <— vs this
Total runtime: 39.917 ms
Vybíráte tolik řádků, že je levnější přečíst celou tabulku.
Související dřívější otázky a odpovědi z dneška k dalšímu čtení:
-
Proč Postgresql nepoužívá index pro dotaz IN?
-
Postgres používá nesprávný index při dotazování na zobrazení indexovaných výrazů?
(Viz také Craigovu delší odpověď na druhou, kde jsou další poznámky o jemnosti indexů.)