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

Изключително бавна заявка на PostgreSQL с клаузи ORDER и LIMIT

Когато имате и LIMIT, и ORDER BY, оптимизаторът е решил, че е по-бързо да накуцва през нефилтрираните записи на foo чрез низходящ ключ, докато получи пет съвпадения за останалите критерии. В останалите случаи той просто изпълнява заявката като вложен цикъл и връща всички записи.

Накратко, бих казал, че проблемът е, че PG не удря ставата разпределение на различните идентификатори и затова планът е толкова неоптимален.

За възможни решения:ще приема, че сте стартирали ANALYZE наскоро. Ако не, направете го. Това може да обясни защо прогнозните ви времена са високи дори на версията, която се връща бързо. Ако проблемът продължава, може да изпълните ORDER BY като подизбор и да поставите LIMIT във външна заявка.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pgAdmin алтернативи - PostgreSQL управление на база данни GUI ClusterControl

  2. Как да изтрия данни от множество таблици?

  3. Може ли Alembic да генерира автоматично промени в колони?

  4. Как да напиша съхранена процедура на postgres, която не връща нищо?

  5. Как да активирате тих режим за команди на Postgres на Heroku