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

Kolejność Postgresa według wydajności klucza obcego?

Różnica jest tutaj, w drugim wierszu wyjścia EXPLAIN:

->  Sort  (cost=27.88..27.89 rows=7 width=198) (actual time=2984.688..2984.692 rows=28 loops=1)

Zauważ, że „rzeczywisty czas” to prawie cały czas trwania zapytania. Sortowanie wymaga nie tylko mnóstwa porównań (tj. kosztu sortowania czegokolwiek), ale także dodatkowego zarządzania danymi, serwer musi skopiować niektóre dane (wiersze lub wskaźniki do wierszy) do tymczasowej lokalizacji, aby można je było posortować bez zakłócania czegokolwiek innego .

Każde zapytanie potrwa dłużej z sortowaniem, chyba że masz szczęście, a sortowanie pasuje do kolejności na dysku, a optymalizator zauważy, że pasują do siebie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Używanie psycopg2 i Qthreads razem (lub po prostu postgresql i qthreads) i aktualizowanie GUI

  2. Policz liczbę aktualizacji

  3. Błąd PostgreSQL:argument ciągu zapytania EXECUTE jest pusty

  4. Railsy:Konwersja z MySQL do PostGres łamie obliczenia odległości Geokita?

  5. Heroku pg:pociągnięcie nie powiodło się wypełnienie schematu