我有一个问题,太快达到我的连接限制...我是否正确认为以下将有助于解决这个问题?MySQL连接限制
在旧文件中使用的mysqli类
class DB extends MySQLi {
function __destruct() {
$this->close();
}
}
我有一个问题,太快达到我的连接限制...我是否正确认为以下将有助于解决这个问题?MySQL连接限制
在旧文件中使用的mysqli类
class DB extends MySQLi {
function __destruct() {
$this->close();
}
}
连接时,脚本结束它的工作,即使你忘记mysql_close()
自动关闭使用的mysql_query
<?php
mysql_close($link);
if (isset($link2)) {
mysql_close($link2);
}
?>
在较新的文件。考虑提高max_clients设置my.cnf
此外,如果你只使用一个数据库,你不需要,你不需要两个连接 - 使用一个。
我正在使用两个数据库,尽管它因脚本而异。所以问题是数量的问题,而不是你认为的联系? – 2011-05-24 12:55:09
@John Smith,是的,如果你有很多重大的查询,这意味着连接已经打开了一段时间。较少的查询意味着较少的连接。 – 2011-05-24 13:05:17
您可能还会通过持续连接(pconnect)保持连接打开,导致您的数据库服务器汇集并堆叠连接。直到大约PHP5.2,我遇到了麻烦。
<?php
mysql_close($link);
if (isset($link2)) {
mysql_close($link2);
}
?>
这没有任何意义 - 如果知道这两个变量可能包含mysql连接资源,则关闭两者!
更重要的是 - 如果你的代码是一个烂摊子,你不能做它的意义,然后...
<?php
@mysql_close();
@mysql_close();
@mysql_close();
?>
但唯一的地方,你可以理智地把这个(没有分析该代码的行为一些细节 - 在这种情况下,你会知道是在脚本结束什么样的资源,你必须打开) - 这哪里是连接关闭后得到反正。
同样,当一个对象的所有引用删除自毁方法只叫 - 这是略好,但根据代码结构,你可能会得到任何好处可言。
它更为明智,以确定哪些网址花费很长的时间来处理,并试图重新因子代码(PHP和SQL)这些。
为什么你需要首先建立多个连接:) – Catalin 2011-05-24 12:49:07
'我是正确的thinking' - 检查它在实践中,这是你的脚本。 – 2011-05-24 12:50:04