PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Заявката не използва индекс на времево клеймо без поле за часова зона

Отговорът се крие в тази част от плана за изпълнение:

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

Тъй като така или иначе почти всички редове се връщат, използването на последователно сканиране и отхвърлянето на няколкото реда, които са филтрирани, е най-ефективният начин за обработка на заявката.

Ако искате да потвърдите това, временно

SET enable_seqscan = off;

за да накарате PostgreSQL да избягва последователно сканиране, ако е възможно. След това можете да тествате дали изпълнението на заявката става по-бързо или не.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Задействане за актуализиране на текущата дата в Postgres 9

  2. Дали това е грешка на PostgreSQL SQL двигателя и как да я избегнете (заобиколно решение)?

  3. Как да заявите сумата на предишния ред на същата колона с pgSql

  4. Има ли удар в производителността при използване на десетични типове данни (MySQL / Postgres)

  5. Обединяване на всички стойности, които не са в една и съща група