我真的需要做mysql_close()吗?为什么或为什么不呢?
是否有触发器在mysql_connect之后关闭链接,即使我没有执行mysql_close?
答案 0 :(得分:10)
通常不需要使用mysql_close(),因为非持久性打开链接会在脚本执行结束时自动关闭。
就个人而言,我总是喜欢确保我迂回地关闭任何我打开的东西,但它不是必需的。
答案 1 :(得分:7)
在大多数情况下,调用mysql_close
在性能方面不会产生任何影响。但是,关闭程序不再使用的资源(文件句柄,打开套接字,数据库连接等)总是很好的做法。
如果您正在做一些可能需要几秒钟的事情 - 例如,从REST API读取和解析数据,则尤其如此。由于API调用正在进行,因此负面网络条件可能导致脚本阻塞几秒钟。在这种情况下,在完成并解析REST调用之后,打开数据库连接的适当时间。
总结我的答案,两大规则是:
答案 2 :(得分:7)
关闭链接有什么好处?
好处是您可以在PHP请求清理之前释放与数据库的连接以及数据库服务器中的相应资源。
例如,您可以在请求的前20毫秒内查询您的请求所需的所有数据。但是,然后您的PHP代码花费另外80毫秒运行代码并格式化结果。这意味着80%的时间,应用程序在不需要的情况下保持打开数据库连接,平均而言,数据库服务器上的10个连接线程中有8个是空闲的并且使用资源。
答案 3 :(得分:3)
手册says:
通常不需要使用mysql_close(),因为非持久性打开链接会在脚本执行结束时自动关闭。
所以,不,不是真的。在尝试可能消耗大量资源的操作之前释放资源是有帮助的,但它可能不会产生很大的不同。
答案 4 :(得分:3)
什么;关闭链接的好处是什么?
通常情况下,自行关闭链接没有任何好处,因为它会自动关闭。
我只能想到几个好处
如果您的脚本在完成数据库使用后需要进行大量处理,那么过早关闭数据库链接可能有助于释放一些内存和其他资源(例如MySQL连接)继续其他事情。这在大多数脚本中都不太可能成为问题,因为大多数脚本在完成数据库连接之后会很快终止,并且在PHP脚本终止之前保持连接打开的时间相对较短。
代码的完整性和清洁度。它可以给你一种良好的感觉,通常很好的代码卫生来关闭你打开的东西,即使在这种情况下它不是技术上要求的。