【发布时间】:2018-07-01 23:32:57
【问题描述】:
我的 Java 应用程序有很多查询(约 1000 个查询/每个按钮)。我可以在我的应用程序启动时打开 JDBC 连接并保留它,而不是每次按下按钮时打开连接并在 1k 次查询后关闭它吗?我知道这是可能的,但会更好还是没有?它会以某种方式丢失吗?我使用免费的 mysql 托管,这就是为什么每次打开/关闭一个新的都需要很长时间。
【问题讨论】:
-
您可能会在stackoverflow.com/q/7280825/924 中找到一些有用的信息,一般建议似乎是使用连接池而不是单个连接。
-
“它会以某种方式丢失吗?” 是的。如果服务器重新启动。如果您失去连接。如果你有一段时间不使用它,服务器可能会超时并丢弃它。
-
添加到@BrandonHaugen 评论,您可以将最大空闲/活动连接设置为 1 的池。这样您将拥有两全其美。
-
在这种情况下是否可以使用数据库上的程序来代替?您可以使用查询调用该函数,并且您的部分逻辑在 DB 上执行,效率更高。
标签: java jdbc mysqlconnection