Короче говоря, есть ли какой-то mysqli_pconnect
для высокопроизводительных серверов PHP
и MySQL
, или мне нужно придерживаться mysql
unimproved? И если да, то почему они их убрали?
Поддержка этого была введена в PHP 5.3. Для версий до этого PDO и – бог запретите – расширение mysql – это единственные варианты.
Чтобы процитировать руководство :
В отличие от расширения mysql, mysqli не предоставляет отдельную функцию для открытия постоянных соединений. Чтобы открыть постоянное соединение, вы должны добавить p: к имени хоста при подключении.
Я не беспокоюсь о постоянных связях в MySQL. Постоянные подключения для баз данных, таких как Oracle, в которых создание нового соединения происходит намного медленнее.
В MySQL создание соединения происходит относительно быстро (особенно если вы отключите обратные DNS-запросы). Не должно быть необходимости в постоянных связях с MySQL. Если ваше приложение критично критично, есть много вещей, которые вы можете сделать с большим ударом для своего доллара, чем беспокоиться о постоянных подключениях.
Кроме того, постоянные связи связаны с непреднамеренными побочными эффектами. Если вы используете переменные MySQL, временные таблицы, изменяете набор символов соединения или забываете завершить транзакции, вы можете вызвать проблемы. Например, вы можете открыть личные данные одного пользователя на сеанс PHP другого пользователя, потому что вы оставите временную таблицу вживую.
На самом деле существует постоянная поддержка библиотеки mysqli. Просто добавьте «p:» к имени хоста, и все готово.