PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Dlaczego Postgres nie korzysta z indeksu?

Z powodu:

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

Wybierasz tak wiele wierszy, że taniej jest przeczytać całą tabelę.

Powiązane wcześniejsze pytania i odpowiedzi z dzisiaj do dalszego czytania:

  • Dlaczego Postgresql nie używa indeksu dla zapytania IN?

  • Postgres używa nieprawidłowego indeksu podczas odpytywania widoku indeksowanych wyrażeń?

(Patrz także dłuższą odpowiedź Craiga na drugą odpowiedź, aby uzyskać dodatkowe uwagi na temat subtelności indeksów.)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Importuj pliki XML do PostgreSQL

  2. sprzężenie wewnętrzne i sprzężenie zewnętrzne; czy kolejność tabel jest ważna od?

  3. Jak zmienić użytkownika na superużytkownika w PostgreSQL?

  4. Jak wypróbować wiele opcji SELECT, aż wynik będzie dostępny?

  5. Musisz zainstalować postgresql-server-dev-X.Y do budowania rozszerzenia po stronie serwera lub libpq-dev do budowania aplikacji po stronie klienta