首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >经常与SQL数据库通信的最有效方法

经常与SQL数据库通信的最有效方法
EN

Stack Overflow用户
提问于 2014-07-29 16:43:11
回答 1查看 106关注 0票数 0

因此,我正在编写一个java程序,它将不断地与SQL数据库通信。用户将输入他们自己的SQL数据库,我希望数据库和计算机本身的负载尽可能低。每个X(用户指示的时间,很可能是5秒-5分钟)程序将检查数据库中的命令。

方法A

  • 每个X连接到SQL并检查是否有任何命令
  • 关闭SQL连接

方法B

  • 第一次运行时连接到SQL
  • 保持连接打开,并检查每个X的命令
  • 关闭前关闭连接

我在想哪种方法会更好。

EN

回答 1

Stack Overflow用户

发布于 2014-08-04 14:01:54

当您的程序无法估计用户访问数据库的频率(例如搜索数据库、插入新数据、删除旧数据)时,最好将连接池合并,即在启动时创建多个连接,并在关闭之前关闭池中的所有连接。同时,从池中提取连接以查询数据库,并将连接释放到池中以供进一步使用。这种方法避免建立和关闭连接,因为它们往往非常昂贵。保持连接活动并不是什么大事,而且那里有很多连接池库。

根据您的用例,您可以估计数据库访问的频率,而且由于两个调用之间的时间间隔似乎相当大,所以不需要使用池。尽管如此,这是一个良好的做法。

所给出的答案涉及性能问题。在我看来,方法B还允许更好地分离关注。在一个地方有整个连接,在另一个地方有业务逻辑。没必要把事情搞混。

最后,池允许监视连接。它将让您控制最多应该打开多少个连接。这可能很重要,例如,当单个任务/查询需要比两个调用之间的时间间隔更长的时间时,这将导致越来越多的连接被打开。

我希望这能给你一些回答你的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25020624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档