我正在构建一个小守护进程,它定期(每30秒)检查一次新数据并将其输入本地MySQL数据库。
我只是想知道在应用程序启动时是否更好地创建与数据库的连接,并且始终在整个应用程序中使用该连接,直到它关闭,或者它应该只在有新数据时打开连接,关闭在添加数据之后它会在30秒后有新数据时重复此操作吗?
谢谢。
答案 0 :(得分:4)
我建议你做任何你最容易编码的事情。不要浪费任何时间来解决最有可能成为非问题的事情。
如果事实证明争用,连接限制或其他此类事情有任何困难,您可以稍后解决。
答案 1 :(得分:2)
这取决于。
在您的情况下,性能无关紧要,因为您不会每秒执行数千次查询/登录,并且新的连接/登录开销为(数十)毫秒。
如果使用单个连接,则必须确保守护程序处理与MySQL端的突然断开连接,并能够从那里恢复。此外,如果您移动应用程序以使您的应用程序位于与MySQL不同的服务器上,那么许多防火墙可能会不时地丢弃延长的连接。
如果您每次都创建一个新连接,然后在完成后断开连接,那么清理旧连接的防火墙之类的东西就不会轻易咬你。