closuresmysql连接重要吗?
closuresmysql连接效率是否明智至关重要,还是在php文件运行后自动closures?
从文档 :
注意:一旦脚本执行结束,到服务器的链接将被closures,除非通过显式调用mysql_close()来closures它。
如果您的脚本在获取结果之后执行了相当数量的处理并检索了完整的结果集,那么您绝对应该closures连接。 如果你不这样做,那么在服务器被大量使用的情况下,MySQL服务器有可能达到它的连接限制。 如果直到脚本结束时才能closuresMySQL连接,尽pipe没有必要明确地做到这一点,但是干净利落。
我不确定fastcgi如何影响事物。 一个页面声称,支持fastcgi的PHP构build将创build持久连接,即使对于mysql_connect也是如此。 这与文档相矛盾,当过程而不是脚本结束时,连接closures。 而不是testing它,我会build议使用mysql_close()。 其实,如果可以的话,我推荐使用PDO 。
这是关键吗? 没那么多
是否被认为是一个很好的做法? 是。
我不明白你为什么不想closures它。
当使用像cgi这样的东西时,完全没有必要closures你的mysql连接,因为它们在脚本执行结束时会自动closures。 当使用持久化技术(如mod_perl等)来维护请求之间的连接时,重要的是跟踪连接,全局variables等。
基本上,对于持续的数据,自己清理。 对于不重要的非持久性数据,当请求结束时,它将全部消失。 无论哪种方式,最好的做法是始终closures你的联系。
脚本完成执行后立即closures。 除非你打开了一个持久连接。 理想情况下,您应该尽快释放资源(此处为连接)。 除非在执行过程中很快再次需要它。
连接池或使用持久连接(如果这就是你的意思)是一个好主意,如果你是一个单一的数据库服务器。 但是,如果有更多的服务器,并且负载均衡,则可能会影响工作分配。 通常一些客户端运行较大的查询,而其他客户端运行较轻的查询 所以如果连接使用相同的连接,一些服务器会造成沉重的负载,而另一些服务器则会被利用。 考虑使用更小的ttls和可变的连接池大小。