Перенос ссылки на базу данных MySQL через несколько страниц PHP - PullRequest
2 голосов
/ 30 марта 2009

Есть ли какие-нибудь хитрости для передачи и / или обмена ссылками на ресурсы на нескольких страницах PHP? Я не хочу, чтобы сервер продолжал подключаться к базе данных, просто чтобы получить другую ссылку на того же пользователя в той же базе данных.

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

Ответы [ 2 ]

4 голосов
/ 30 марта 2009

PHP разрешает постоянные MySQL-соединения, но имеет недостатки . Самое главное, что пустые дети Apache в конечном итоге сидят без дела, держа открытые соединения с базой данных открытыми. Соединения с базой данных занимают приличный объем памяти, поэтому вы действительно хотите, чтобы они открывались только тогда, когда они фактически используются.

Если ваш пользователь открывает одну страницу каждую минуту, гораздо лучше закрыть соединение с базой данных на 59 секунд из каждой минуты, когда вы его не используете, и повторно открывать его при необходимости, чем постоянно держать его открытым .

Вместо этого вам, вероятно, следует изучить пул соединений.

0 голосов
/ 30 марта 2009

Одним из преимуществ Mysql перед другими более тяжелыми серверами баз данных является то, что соединения дешевы и быстры в настройке.

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

...