Соединение php с пулом mysql

Я планирую использовать MYSQL. Имеется ли расширение пула соединений? Или какая нормальная практика для подключения? Это тот, который используется везде …

mysqli_connect("localhost", "xxx", "xxx", "test"); 

Люди используют только обычный mysql_connect или pconnect ..? Насколько лучше pconnect и какие настройки следует выполнять для PConnect?

Вы когда-нибудь использовали mysql_pconnect() ? mysql_pconnect() очень похож на mysql_connect() с двумя основными отличиями.

Во-первых, при подключении функция сначала попытается найти (постоянную) ссылку, которая уже открыта с тем же хостом, именем пользователя и паролем. Если он найден, идентификатор для него будет возвращен вместо открытия нового соединения.

Во-вторых, соединение с сервером SQL не будет закрыто при завершении выполнения скрипта. Вместо этого ссылка останется открытой для будущего использования ( mysql_close() не будет закрывать ссылки, установленные mysql_pconnect() ).

Поэтому этот тип ссылок называется «постоянным»,

Проверьте это здесь

Поддержка постоянных подключений была введена в PHP 5.3 для расширения mysqli. Поддержка уже присутствовала в PDO MYSQL и ext / mysql. Идея постоянных соединений заключается в том, что соединение между клиентским процессом и базой данных может быть повторно использовано клиентским процессом, а не создаваться и уничтожаться несколько раз. Это уменьшает накладные расходы при создании новых подключений каждый раз, когда требуется, поскольку неиспользуемые соединения кэшируются и готовы к повторному использованию.

В отличие от расширения mysql, mysqli не предоставляет отдельную функцию для открытия постоянных соединений. Чтобы открыть постоянное соединение, вы должны добавить p: к имени хоста при подключении.

источник: http://www.php.net/manual/en/mysqli.persistconns.php

 sample code: $GLOBALS["mysqli"] = new mysqli('p:localhost', 'username', 'password', 'db_name'); 

Извините за обман, не видел других ответов.

используйте mysqli или расширение PDO вместо старого расширения mysql.

вы можете указать конструкцию mysqli_connect или mysqli::__construct для использования постоянного соединения, если вы префикс своего имени хоста 'p:'

http://php.net/manual/en/mysqli.construct.php

Это старый вопрос, но я хотел добавить свои два цента, поскольку я рассматривал эту же проблему. Начиная с PHP 5.3, mysqli поддерживает постоянные соединения, вам просто нужно добавить p: в начало имени хоста.

Если вы используете Apache, пытались ли вы смотреть на пул соединений с mysql через модуль Apache mod_dbd? Он поддерживает объединение пулов для MySQL. http://httpd.apache.org/docs/2.2/mod/mod_dbd.html

Существует 3 функции подключения:

mysql_connect : обычное соединение, без объединения, вы не можете выполнять хранимые процедуры (просто sql)

mysql_pconnect : объединенное соединение, вы не можете выполнять хранимые процедуры (просто sql)

mysqli_connect : обычное соединение, без объединения, вы можете выполнять хранимые процедуры (требуется mysql 5 или выше)

mysqli_pconnect : НЕ СУЩЕСТВУЕТ. Не существует встроенной функции соединения как для обработки хранимых процедур, так и для объединения

Мой совет (через опыт и серфинг):

Если вам нужны хранимые процедуры, оставьте пул и используйте mysqli_connect

Если вам не нужны хранимые процедуры, используйте mysql_pconnect

Не совсем ответ, но я думаю, вы также можете рассмотреть PHP Data Objects (PDO) http://php.net/manual/en/book.pdo.php И PDO для MySQL http://php.net/manual/en/ ref.pdo-mysql.php