Php MySQL数据库连接未关闭:将发生什么情况?
我正在使用PHP查询我网站上的MySQL数据库。请回答以下问题:Php MySQL数据库连接未关闭:将发生什么情况?,php,mysql,database,performance,Php,Mysql,Database,Performance,我正在使用PHP查询我网站上的MySQL数据库。请回答以下问题: 如果我最后查询完数据库后不使用mysql\u close(),会发生什么?连接将保持打开状态?如果是,那么最多需要多少时间?如果没有,为什么 如果我在一个数据库中的多个位置打开和关闭与MySQL的连接 网页,性能如何受到影响?i、 每次需要访问单个网页上的数据库时,都会再次建立连接 mysql\u close()与性能有什么关系?我应该在每次需要访问数据库时打开一个新连接,还是只保留一个连接并在最后关闭它 如果我不关闭连接,那么如
mysql\u close()
,会发生什么?连接将保持打开状态?如果是,那么最多需要多少时间?如果没有,为什么mysql\u close()
与性能有什么关系?我应该在每次需要访问数据库时打开一个新连接,还是只保留一个连接并在最后关闭它与不需要时保持连接打开的资源使用相比,关闭连接的性能损失可以忽略不计。最好在完成连接后立即关闭它,并在需要时再次打开它。如果使用非持久性连接,所有打开的MySQL连接将在PHP脚本完成执行后自动关闭
$this->db
),然后在销毁过程中关闭它(或者根本不用关闭它,因为它无论如何都会关闭,即使没有明确声明)。来自php.net:
通常不需要使用mysql_close(),因为非持久打开的链接会在脚本执行结束时自动关闭
对于性能而言,这取决于情况、使用时间、空闲时间等(例如长时间执行)。在大多数情况下,存在一种单例模式,通过这种模式,您可以拥有一个打开的连接,并使用该打开的句柄进行所有查询。但这并不是完全正确的,因为mysql_connect本身支持:
如果使用相同的参数再次调用mysql_connect(),则不会建立新链接,而是返回已打开链接的链接标识符。new_link参数修改此行为,并使mysql_connect()始终打开新链接,即使mysql_connect()以前使用相同的参数调用过
所以基本上,对于短时间运行的脚本,mysql_close不是很需要