sql >> Databasteknik >  >> RDS >> PostgreSQL

Varför använder inte Postgres indexet?

På grund av:

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

Du väljer så många rader att det är billigare att läsa hela tabellen.

Relaterade tidigare frågor och svar från idag för vidare läsning:

  • Varför använder inte Postgresql index för IN-fråga?

  • Postgres använder fel index när du frågar efter en vy av indexerade uttryck?

(Se även Craigs längre svar på det andra för ytterligare anteckningar om indexfinesser.)




  1. Oracle SQL - Identifiera sekventiella värdeintervall

  2. ogiltigt namnmönster när man försöker skicka anpassad objektmappning av orakeltyp

  3. Sql Server int vs nvarchar jämförelse på prestanda?

  4. Hur kan jag testa om en kolumn finns i en tabell med hjälp av en SQL-sats