MySQL连接限制

时间:2011-05-24 12:46:31

标签: php mysql

我有太快达到连接限制的问题...我是否认为以下内容有助于解决此问题?

使用mysql_query

的旧文件
<?php
mysql_close($link);
if (isset($link2)) {
    mysql_close($link2);
}
?>

使用mysqli class

的较新文件
class DB extends MySQLi {
  function __destruct() {
    $this->close();
  }
}

3 个答案:

答案 0 :(得分:1)

您也可能通过持久连接(pconnect)保持连接打开,从而导致数据库服务器汇集并堆叠连接。直到大约PHP5.2,我一直遇到麻烦?

答案 1 :(得分:0)

即使忘记mysql_close(),当脚本完成工作时,连接也会自动关闭。请考虑提高max_clients设置my.cnf

此外,如果您只使用一个数据库,则不需要,您不需要两个连接 - 请改用一个。

答案 2 :(得分:0)

<?php
 mysql_close($link);
 if (isset($link2)) {
     mysql_close($link2);
 }
 ?>

这没有任何意义 - 如果知道两个变量可能包含mysql连接资源,那么关闭它们!

更好的是 - 如果你的代码很乱并且你无法理解它,那么......

<?php
@mysql_close();
@mysql_close();
@mysql_close();
?>

但是唯一可以理解这一点的地方(没有在某些细节中分析代码行为 - 在这种情况下你会知道你打开了哪些资源)是在脚本的最后 - 是连接关闭的地方无论如何

类似地,仅在删除对对象的所有引用时才调用destruct方法 - 这稍微好一些,但根据代码结构,您可能根本没有任何好处。

确定哪些URL需要花费很长时间来处理并尝试重新分解这些代码(包括PHP和SQL),这更有意义。