无限循环内的MYSQL数据库连接

时间:2018-08-18 03:49:50

标签: php mysql

我有一个永久运行的PHP脚本,而在该脚本中我(1)进行了一些数据库调用。我为每个查询打开和关闭数据库连接。

这是一个好习惯吗,还是打开的连接应该位于循环外部而不关闭。该错误脚本会通过shell脚本重生。

1 个答案:

答案 0 :(得分:1)

这取决于。您没有对自己的情况做太多解释,可能有理由根据您的工作以不同的方式处理连接。

如果您的脚本在两次查询之间处于休眠状态,我将关闭数据库连接。不必要地使空闲的数据库连接保持打开状态可能会造成浪费,因为即使您不在运行查询,打开的连接也会占用数据库服务器上的少量RAM。

但是,如果您的脚本快速运行查询而没有陷入循环中,那么仅断开连接以立即重新连接将是浪费的。连接到db服务器会导致一点延迟和CPU成本。

您还应该处理在两次查询之间数据库连接终止的情况。解决此问题的一种好方法是在查询时检查错误,然后重试连接和查询,或者在您的情况下直接退出PHP脚本,因为它仍然会重新生成。

简而言之,每条规则都有例外,并且您没有在问题中提供足够的信息来提出明确的建议。