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

Zapytanie nie używające indeksu na sygnaturze czasowej bez pola strefy czasowej

Odpowiedź kryje się w tej części planu wykonania:

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

Ponieważ prawie wszystkie wiersze i tak są zwracane, użycie sekwencyjnego skanowania i odrzucenie kilku odfiltrowanych wierszy jest najskuteczniejszym sposobem przetwarzania zapytania.

Jeśli chcesz to zweryfikować, tymczasowo

SET enable_seqscan = off;

aby PostgreSQL unikał skanowania sekwencyjnego, jeśli to możliwe. Następnie możesz sprawdzić, czy wykonywanie zapytania jest szybsze, czy nie.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ciągle otrzymuję relację błędu [TABELA] nie istnieje

  2. Tworzenie aplikacji wielodostępnej przy użyciu schematów PostgreSQL i Rails

  3. przesyłanie pliku szwu do postgresa kolumna bajtowa to bajt, ale wyrażenie jest typu bigint

  4. Nie znaleziono identyfikatora transakcji Postgresql

  5. postgresql - liczba (brak wartości null) każdej kolumny w tabeli