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

Защо PostgreSQL е толкова бавен в Windows?

Има случаи, в които PostgreSQL на Windows плаща допълнителни разходи в сравнение с други решения, поради компромиси, направени при пренасянето му.

Например, PostgreSQL използва процес за връзка, MySQL използва нишка. В Unix това обикновено не е забележима разлика в производителността, но в Windows създаването на нови процеси е много скъпо (поради липсата на системното извикване fork()). Поради тази причина използването на постоянни връзки или пул за връзки е много по-важно за Windows, когато използвате PostgreSQL.

Друг проблем, който видях, е, че ранният PostgreSQL на Windows по подразбиране ще се увери, че записите минават през кеша за запис - дори ако е с батерия. AFAIK, MySQL не прави това и това ще повлияе значително на производителността на запис. Това всъщност е необходимо, ако имате небезопасен хардуер, като евтино устройство. Но ако имате кеш за запис, поддържан от батерия, искате да промените това на обикновен fsync. Съвременните версии на PostgreSQL (със сигурност 8.3) по подразбиране ще използват open_datasync вместо това, което би трябвало да премахне тази разлика.

Също така не споменавате нищо за това как сте настроили конфигурацията на базата данни. По подразбиране конфигурационният файл, доставен с PostgreSQL, е много консервативен. Ако не сте променили нищо там, определено трябва да го разгледате. Има някои съвети за настройка в PostgreSQL wiki .

За да дадете повече подробности, ще трябва да предоставите много повече подробности за това какво точно работи бавно и как сте настроили вашата база данни. Бих предложил имейл до pgsql-general mailinglist.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. информацията за дълга анкета от mysql не работи

  2. Как да проверите размера на базата данни и таблиците на MySQL

  3. MYSQL избира брой по стойност

  4. Преброяване на колко полета на MySQL в един ред са попълнени (или празни)

  5. Инсталиране на gem:Неуспешно изграждане на родно разширение на gem (не мога да намеря заглавни файлове)