sql >> Databasteknik >  >> RDS >> PostgreSQL

Fråga använder inte index på tidsstämpel utan tidszonsfält

Svaret ligger i denna del av genomförandeplanen:

Seq Scan ... (actual ... rows=2876756 ...)
  ...
  Rows Removed by Filter: 141052

Eftersom nästan alla rader ändå returneras, är det mest effektiva sättet att bearbeta frågan att använda en sekventiell genomsökning och kassera de få raderna som filtreras bort.

Om du vill verifiera det, tillfälligt

SET enable_seqscan = off;

för att få PostgreSQL att undvika en sekventiell genomsökning om möjligt. Sedan kan du testa om exekveringen av sökfrågor blir snabbare eller inte.




  1. Anropar privat funktion inom paketets kropp

  2. Dela upp kommaseparerat värde från tabellkolumnen i rader med mysql?

  3. Välj poster från en vecka tidigare i mysql

  4. Spridning av Oracle-transaktioner mellan C++ och Java