я уже писал про это. попробуй написать функцию, где каждый раз делается одно и тоже:
открывается соединение(но connection string не меняется),
делается запрос,
идет обработка результата(скажем в ассоциативный массив).
а теперь запихни эту функцию в цикл(скажем 100.000 итераций) и смотри что будет с конекшинами(любым монитором для mysql).
в моих "опытах", mysql не открывал каждый раз новый connection.
http://imho.ws/showthread.php?t=64225 - вот тут я писал об этом.
я имею ввиду следущую вещь:
можно коннектиться сколько угодно много раз к базе, это не скажеться на производительности, если соединение не закрыто, и connection string не меняется. мое имхо, там присутсвует внутренний connection pool, который как раз и занимается непосредственно реальными коннектами к базе, а mysql_connect - это всего лишь обращение к pool.
я когда проектирую функции бизнес-логики, то делаю примерно так:
Код:
function GetItenById($itemId)
{
$db = new myDbClass(); // это мой класс работы с mysql(там ничего особенного нету)
$db->Connect();
$db->Select("query");
//тут обработка и сохранение данных(в полях класса например)
....
//в конце не закрываю connection
}
далее использую скажем вот так:
Код:
for($i=0;$i<1000;$i++)
{
GetItenById($i);
}
и никаких напрягов вобщем-то нету. и даже не нужно юзать этот пресловутый pconnect.
может, я конечно не прав.