【发布时间】:2011-09-26 16:14:14
【问题描述】:
我的应用程序没有使用任何形式的连接池,我直接使用连接。该应用程序主要执行简短的查询。从日志中我可以看到它经常打开和关闭连接,通常只执行一个或几行之间的单选。这些通常需要大约 100 毫秒(包括打开和关闭连接)。
关于连接池如何提高应用程序性能的文章和博客文章数不胜数,但它们似乎都相当陈旧(5 年或更长时间)。
连接池是否仍能提供合理的性能优势,还是已经过时。我正在使用带有 Microsoft JDBC 驱动程序 3.0 版的 SQLServer 2008,如果这很重要的话。
结果/更新:自从我提出这个问题后发生了很多事情(我们切换了 JDBC 驱动程序和许多其他东西)。有时我做了很多重构和其他工作,并且在那个时候还为该应用程序添加了连接池。 通过连接池,一些查询的执行速度现在比日志时间戳粒度可以测量的更快(我相信不到 16 毫秒)。
因此,总而言之,如果您需要频繁连接/断开连接,连接池仍然值得努力。
【问题讨论】:
标签: java performance jdbc connection-pooling