MySQL连接,我能保持它打开吗?

17

在整个会话期间保持连接是否明智? 我制作了一个连接到MySQL数据库的C#应用程序,该程序既读取又写入数据库,每天需要连续运行大约10个小时。

与每次从数据库中获取内容后调用close()函数然后再需要新内容时重新打开连接相比,保持连接的风险有哪些?

11个回答

0

如果您不断地打开和关闭连接,那么您将会付出性能代价。如果您担心太多运行中的应用程序副本会占用过多的数据库连接,则使用连接池和较短的wait_timeout可能是明智的选择。


这不是问题,这是唯一正在运行的应用程序,其他任何东西都不应该尝试连接。 - Pieter888
1
我从未听说过在这种情况下你想要断开连接的理由。如果你的应用程序可以自动透明地重新建立连接,那么它不会为你提供任何额外的安全性(事实上,你会失去一些,因为每个身份验证都会暴露一点信息)。事实上,流行的内置功能连接池会导致连接保持打开状态,即使你告诉代码关闭它,以便连接可以被另一个进程重用,而无需进行身份验证的开销。 - MightyE
那么当连接处于“打开”状态时,连接会自动重新建立吗?还是我需要编写自己的代码来检测它? - Pieter888

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接