В чем реально отличие mysql_connect и mysql_Pconnect

Статус
В этой теме нельзя размещать новые ответы.

dandandan

Мой дом здесь!
Регистрация
7 Авг 2008
Сообщения
1.036
Реакции
293
В чем реально отличие mysql_connect и mysql_Pconnect?
В документации написано, что при mysql_pconnect создается постоянное соединение. С помощью mysql_close оно не закрывается. При новом вызове mysql_pconnect у меня создается новое соединение. В результате при большой посещаемости на хостинге появляется превышение лимита соединений... Так в каких случаях нужно использовать mysql_pconnect?
 
Из описания по указанной выше ссылке понял, что пользоваться им не имеет смысла... Спрашивается зачем он тогда нужен?
Смысл есть: У меня есть несколько скриптов, в каждом происходит обращение к базе, параметры соединения одинаковые, то есть тот же юзер, тот же пароль к тому же хосту. mysql_pconnect как раз не создает нового соединения для того же самого юзера с тем же паролем.

Допустим я вызываю 5 скриптов последовательно (как это просисходит в реальной работе)
То есть при использовании pconnect будет создано одно соединение при запуске первого скрипта, а для остальных 4-ех скриптов будет использовано уже существующее.
А При использовании connect мы получим 5 соединений с базой.

В pconnect функциях на моей памяти, не раз возникали ошибки реализации, что выливалось в утечке в ввиде накопления незакрытых коннектов. К тому же, насколько я понимаю, каждый pconnect актуален только в рамках одного дочернего apache процесса, т.е. если следующий запрос будет обрабатывать другой child (а так и будет), открытый в другом процессе pconnect останется невостребованным.
 
Это уже вопрос интересный...:confused:


Андминистратор данного сайта, говорит, что pconnect на практике работает хуже.
Я использую простой conect, так надежнее.
 
на практике получилось так
что если база локальная то connect лучше т.к. работает через UNIX socket и все быстро не создает задержек
а вот pconnect лучше юзать если на другом серваке база и надо юзать TCP/IP тогда pconnect дает выгоду
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху