sql >> Databáze >  >> RDS >> PostgreSQL

Dotaz nepoužívá index na časovém razítku bez pole časového pásma

Odpověď spočívá v této části prováděcího plánu:

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

Protože jsou stejně vráceny téměř všechny řádky, je nejúčinnějším způsobem zpracování dotazu použití sekvenčního skenování a vyřazení několika odfiltrovaných řádků.

Pokud to chcete ověřit, dočasně

SET enable_seqscan = off;

aby se PostgreSQL pokud možno vyhnul sekvenčnímu skenování. Poté můžete otestovat, zda je provádění dotazu rychlejší nebo ne.




  1. MySql:Vícenásobné levé spojení dává nesprávný výstup

  2. Ormlite nebo sqlite Který z nich je dobrý pro Android?

  3. jqGrid Act Strange Znovu načtení dat po vložení a aktualizaci

  4. Heslo salt -- Dělám to správně?