关闭mysql连接很重要吗?

83 php mysql

关键是要有效地关闭mysql连接,还是在php文件运行后自动关闭?

out*_*tis 87

文档:

注意:一旦脚本执行结束,服务器的链接将立即关闭,除非通过显式调用mysql_close()将其关闭.

如果您的脚本在获取结果后要执行相当多的处理并检索完整的结果集,那么您肯定应该关闭连接.如果不这样做,当Web服务器使用率很高时,MySQL服务器有可能达到连接限制.如果你不能关闭MySQL连接,直到接近脚本结束,虽然没有必要明确这样做,但它更干净.

我不确定fastcgi会如何影响事物. 一页声称支持fastcgi的PHP构建将创建持久连接,即使对于mysql_connect也是如此.这与文档相矛盾,因为当进程而不是脚本结束时,连接被关闭.我打算使用mysql_close(),而不是测试它.实际上,我建议使用PDO,如果它可用的话.

  • 这是否意味着如果用户提前关闭页面(例如)(或者有一些错误),连接可能会保持打开状态? (4认同)

PSU*_*rdi 9

这至关重要吗?没那么多

是否认为这是一个很好的做法?是.

我不明白为什么你不想关闭它.

  • 好吧,考虑到即使是`mysql_close`的手册页也说"使用mysql_close()通常不是必需的,因为非持久性开放链接会在脚本执行结束时自动关闭." 我不会认为不关闭连接是不好的做法. (6认同)
  • "我不明白为什么你不想关闭它." 如果你有可能再次需要它,你根本不想关闭它. (3认同)
  • 如果你使用ajax,那么如果连接关闭,那么每次你尝试使用ajax时,连接都会打开并再次关闭,这比让连接对服务器保持打开状态是值得的,而客户端不关心连接是否打开。关心网站的速度 (2认同)

jes*_*ess 5

使用 cgi 之类的东西时,完全没有必要关闭 mysql 连接,因为它们会在脚本执行结束时自动关闭。当使用诸如 mod_perl 和其他持久性技术来维护请求之间的连接时,跟踪连接、全局变量等很重要。

基本上,对于持久数据,请自行清理。对于琐碎的、非持久性的数据,不管怎样,当请求完成时,它们都会消失。无论哪种方式,最佳做法是始终关闭您的连接。

  • 他说的是 PHP,它不是持久的,所以不适用。 (2认同)