我真的需要做mysql_close()吗

den*_*iss 23 php mysql

我真的需要做mysql_close()吗?为什么或者为什么不?

是否有触发器在mysql_connect之后关闭链接,即使我不执行mysql_close?

Dea*_*ing 10

根据文件:

通常不需要使用mysql_close(),因为非持久性打开链接会在脚本执行结束时自动关闭.

就个人而言,我总是喜欢确保我迂回地关闭我打开的任何东西,但这不是必需的.

  • @Charles如果您的脚本在使用完MySQL后需要一段时间才能完成,那么释放其他脚本可能想要使用的连接会很有用. (2认同)

lee*_*ers 8

在大多数情况下,呼叫mysql_close不会在性能方面产生任何影响.但是,关闭程序不再使用的资源(文件句柄,打开套接字,数据库连接等)始终是一种好习惯.

如果您正在做一些可能需要几秒钟的事情 - 例如,从REST API读取和解析数据,则尤其如此.由于API调用正在进行,因此负面网络条件可能导致脚本阻塞几秒钟.在这种情况下,打开数据库连接的适当时间是 REST调用完成并解析之后.

总结我的答案,两大规则是:

  1. 只有在程序准备好使用它们时才分配资源(文件句柄,套接字,数据库连接等).
  2. 在程序完成后立即释放资源.


Bil*_*win 7

关闭链接有什么好处?

好处是您可以在PHP请求清理之前释放与数据库的连接以及数据库服务器中的相应资源.

例如,您可以在请求的前20毫秒内查询您的请求所需的所有数据.但是,然后您的PHP代码花费另外80毫秒运行代码并格式化结果.这意味着80%的时间,应用程序保持打开数据库连接而不需要,平均而言,数据库服务器上的10个连接线程中有8个是空闲的并且使用资源.