【问题标题】:mysql_connect "bool $new_link = true" is very slowmysql_connect "bool $new_link = true" 很慢
【发布时间】:2010-03-22 22:27:27
【问题描述】:

我在 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 )时,我认为正确清理松散端的唯一方法是所有对象都有自己的连接变量。 我刚刚格式化了我的电脑,所以配置应该是默认配置。

【问题讨论】:

  • 您希望处理与数据库的多个连接吗?您能否发布您的配置以查看我们是否注意到了什么?
  • 你为什么将$new_link设置为true?

标签: mysql performance windows-7 xampp


【解决方案1】:

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

您也不必显式调用 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】:

    使用“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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-19
      • 2011-05-18
      • 2012-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-14
      相关资源
      最近更新 更多