The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Что лучше использовать mysql_pconnect()  mysql_connect() ?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"Что лучше использовать mysql_pconnect()  mysql_connect() ?" 
Сообщение от kD emailИскать по авторуВ закладки(ok) on 15-Дек-04, 14:36  (MSK)
И в каких случаях ? Я всегда использовал mysql_connect(), но тут наткнулся на mysql_pconnect() и понимая, что соединение с базой - это тяжелая по ресурсам операция, хочется узнать не лучше ли использовать mysql_pconnect() ? И какае есть минусы в обоих случаях....заранее спасибо.
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Что лучше использовать mysql_pconnect()  mysql_connect() ?" 
Сообщение от MeLLowD Искать по авторуВ закладки(ok) on 15-Дек-04, 14:45  (MSK)
Лучше mysql_connect. Дело в том, что pconnect не закрывается ни при завершении скрипта, ни при вызове mysql_close. Можно нарваться на слишком большое количество одновременно открытых коннектов.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Что лучше использовать mysql_pconnect()  mysql_connect() ?" 
Сообщение от kD emailИскать по авторуВ закладки(ok) on 15-Дек-04, 15:59  (MSK)
>Можно нарваться на слишком большое количество
>одновременно открытых коннектов.

Да, но есть переменная wait_timeout в Mysql, которую, если сделать поменьше и база сама будет уничножать коннекты.


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Что лучше использовать mysql_pconnect()  mysql_connect() ?" 
Сообщение от MeLLowD Искать по авторуВ закладки(ok) on 15-Дек-04, 16:48  (MSK)
>>Можно нарваться на слишком большое количество
>>одновременно открытых коннектов.
>
>Да, но есть переменная wait_timeout в Mysql, которую, если сделать поменьше и
>база сама будет уничножать коннекты.
А кокой тогда смысл использовать pconnect?


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Что лучше использовать mysql_pconnect()  mysql_connect() ?" 
Сообщение от kD emailИскать по авторуВ закладки(??) on 15-Дек-04, 18:24  (MSK)
>А кокой тогда смысл использовать pconnect?

Смысл есть: У меня есть несколько скриптов, в каждом происходит обращение к базе, параметры соединения одинаковые, то есть тот же юзер, тот же пароль к тому же хосту. mysql_pconnect как раз не создает нового соединения для того же самого юзера с тем же паролем.

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

Вроде выйграть должны по скорости ? Или я что-то не понимаю ?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Что лучше использовать mysql_pconnect()  mysql_connect() ?" 
Сообщение от Maxim Chirkov emailИскать по авторуВ закладки(ok) on 16-Дек-04, 00:20  (MSK)
>И в каких случаях ? Я всегда использовал mysql_connect(), но тут наткнулся
>на mysql_pconnect() и понимая, что соединение с базой - это тяжелая
>по ресурсам операция, хочется узнать не лучше ли использовать mysql_pconnect() ?

Новое соединение с MySQL не такая тяжелая операция, которой в большинстве ситуаций можно пренебречь, при сравнении с затратами MySQL на выполнение запросов.

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

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Что лучше использовать mysql_pconnect()  mysql_connect() ?" 
Сообщение от kD emailИскать по авторуВ закладки(??) on 16-Дек-04, 16:47  (MSK)
> К тому же,
>насколько я понимаю, каждый pconnect актуален только в рамках одного >дочернего
>apache процесса, т.е. если следующий запрос будет обрабатывать другой child (а
>так и будет), открытый в другом процессе pconnect останется >невостребованным.

Вот это уже важно - спасибо! Тогда действительно не стоит этим пользоваться.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру