mysql_connect "bool $ new_link = true" очень медленно - PullRequest
0 голосов
/ 23 марта 2010

Я использую последнюю версию Xampp на 64-битной Win7.Проблема в том, что, когда я использую mysql_connect с «bool $ new_link», установленным в true, примерно так:

mysql_connect('localhost', 'root', 'my_password', TRUE);

время выполнения скрипта резко увеличивается (примерно на 0,5 секунды на соединение, и когда у меня 4 разныхобъекты, использующие разные соединения, это занимает ~ 2 секунды).

Устанавливает для "bool $ new_link" значение true, обычно это плохая идея, или это может быть просто проблема с моей конфигурацией программного обеспечения.

Спасибо.

// Редактировать: я использую новую ссылку, потому что у меня есть несколько объектов, которые используют подключения MySQL (новые объекты могут быть созданы внутри уже существующих объектов и т. Д.).В конце концов, когда дело доходит до сброса объектов (у меня есть mysql_close внутри моих функций __destruct ()), я решил, что единственный способ правильно очистить свободные концы - это то, что все объекты имеют свои собственные переменные соединения.Я только что отформатировал свой компьютер, так что конфигурация должна быть по умолчанию conf.

Ответы [ 2 ]

3 голосов
/ 23 марта 2010

Не открывайте новое соединение, если оно не требуется (например, для одновременного доступа к нескольким базам данных).

Также вам не нужно явно вызывать mysql_close.Я обычно просто включаю функцию для быстрого извлечения существующей ссылки БД (или новой, если ее еще нет).

function &getDBConn() {
    global $DBConn;
    if(!$DBConn) $DBConn = mysql_connect(...);
    return $DBConn;
}
// now you can just call $dbconn = getDBConn(); whenever you need it
2 голосов
/ 10 июня 2012

Используйте «127.0.0.1» вместо «localhost». Это улучшило мою производительность с помощью mysql_connect с ~ 1 сек до пары миллисекунд.

Статья о php / mysql_connect и IPv6 на windows: http://www.bluetopazgames.com/uncategorized/php-mysql_connect-is-slow-1-second-for-localhost-windows-7/

...