Постоянное соединение mysqli

Короче говоря, существует ли какой-то mysqli_pconnect для серверов с высоким уровнем использования PHP и MySQL, или мне нужно придерживаться MySQL unimproved? И если да, то почему они удалили его?

Ответ 1

Поддержка этого была введена в PHP 5.3. Для версий до этого PDO и - god forbid - расширение mysql - это единственные варианты.

Чтобы процитировать manual:

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

Ответ 2

Я не беспокоюсь о постоянных связях в MySQL. Постоянные соединения для баз данных, таких как Oracle, в которых создание нового соединения происходит намного медленнее.

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

Кроме того, постоянные соединения связаны с непреднамеренными побочными эффектами. Если вы используете переменные MySQL, временные таблицы, изменяете набор символов соединения или забываете завершить транзакции, вы можете вызвать проблемы. Например, вы можете подвергнуть отдельные пользовательские данные другому сеансу PHP пользователя, потому что вы оставите временную таблицу живым.

Ответ 3

На самом деле существует постоянная поддержка для библиотеки mysqli. Просто добавьте "p:" к имени хоста, и все готово.