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

Подреждане на Postgres по производителност на външен ключ?

Разликата е точно тук във втория ред на изхода EXPLAIN:

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

Забележете, че "действителното време" е почти цялото време на заявката. Сортирането изисква не само куп сравнения (т.е. разходите за сортиране на каквото и да било), но и допълнително управление на данни, сървърът трябва да копира някои данни (редове или указатели към редове) на временно място, така че да могат да бъдат сортирани, без да се нарушава нищо друго .

Всяка заявка ще отнеме повече време със сортиране, освен ако имате късмет и вашето сортиране съвпада с реда на диска и оптимизаторът може да забележи, че съвпадат.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. openerp:вътрешна грешка в сървъра на ubuntu

  2. Анотирана хронология на Google Vis от SQL база данни, използваща проблем с PHP JSON

  3. Вижте грешка в PostgreSQL

  4. Предайте масив от тагове към plpgsql функция и я използвайте в условие WHERE

  5. Postgres - Как автоматично да извикам ST_SetSRID(ST_MakePoint(lng, lat), 4326) при вмъквания?