mysql_connect“bool $ new_link = true”非常慢

时间:2010-03-22 22:27:28

标签: mysql performance windows-7 xampp

我在64位Win7上使用最新版本的Xampp。 问题是,当我使用mysql_connect并将“bool $ new_link”设置为true时,如下所示:

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

脚本执行时间显着增加(每个连接大约0.5秒,当我有4个使用不同连接的不同对象时,需要大约2秒)。

将“bool $ new_link”设置为true,通常是一个坏主意,或者只是我的软件配置存在问题。

谢谢。

//编辑: 我正在使用新的链接,因为我有多个对象,它们使用mysql连接(可以在已有的对象内创建新对象,依此类推)。最后,当谈到取消设置对象(我的__destruct()函数中有mysql_close)时,我想,正确清理松散端的唯一方法是所有对象都有自己的连接变量。 我刚刚编写了我的PC,因此配置应该是默认配置。

2 个答案:

答案 0 :(得分:3)

除非您需要一个新连接(例如,同时访问多个数据库),否则不要打开新连接。

此外,您不必显式调用mysql_close。我通常只包含一个函数来快速检索现有的数据库链接(如果还没有,则为新链接)。

function &getDBConn() {
    global $DBConn;
    if(!$DBConn) $DBConn = mysql_connect(...);
    return $DBConn;
}
// now you can just call $dbconn = getDBConn(); whenever you need it

答案 1 :(得分:2)

使用“127.0.0.1”而不是“localhost”。它将mysql_connect的性能提高了~1 sek到几毫秒。

关于windows上的php / mysql_connect和IPv6的文章:http://www.bluetopazgames.com/uncategorized/php-mysql_connect-is-slow-1-second-for-localhost-windows-7/