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

mysql_connect VS mysql_pconnect

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

Осъществяването на връзка с MySQL база данни е бързо в сравнение с тези други марки, така че използването на постоянни връзки дава пропорционално по-малко полза за MySQL, отколкото за друга марка база данни.

Постоянните връзки имат и недостатък. Сървърът на базата данни разпределя ресурси за всяка връзка, независимо дали връзките са необходими или не. Така че виждате много пропилени ресурси без цел, ако връзките са неактивни. Не знам дали ще достигнете 10 000 неактивни връзки, но дори няколкостотин са скъпи.

Връзките имат състояние и би било неподходящо PHP заявка да "наследява" информация от сесия, използвана преди това от друга PHP заявка. Например, временните таблици и потребителските променливи обикновено се почистват при затваряне на връзката, но не и ако използвате постоянни връзки. По същия начин настройки, базирани на сесия, като набор от знаци и сортиране. Също така, LAST_INSERT_ID() ще докладва последния генериран идентификатор по време на сесията - дори ако това е било по време на предишна PHP заявка.

Поне за MySQL недостатъкът на постоянните връзки вероятно надвишава предимствата им. Има и други, по-добри техники за постигане на висока мащабируемост.

Актуализация март 2014 г.:

Скоростта на връзката с MySQL винаги е била ниска в сравнение с други марки RDBMS, но става още по-добра.

Вижте http://mysqlserverteam.com/improving-connectdisconnect-performance/

Прочетете блога за повече подробности и сравнения на скоростта.



  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. Как да боравим с наследена база данни в рамката на Django

  3. Опции за динамичен избор на php и mysql

  4. Отговорът на ajax данни винаги е 0 в php mysql

  5. LOAD DATA INFILE:Невалиден низ от символи ut8mb4