以下哪种方法更好:连接池或每线程 JDBC 连接?
问问题
2462 次
3 回答
0
对于 Web 应用程序,连接池通常是正确的答案,因为其他原因已经提供了。
对于针对数据库运行的大多数桌面应用程序,连接池并不好,因为您只需要一个连接,并且拥有多个连接会消耗数据库服务器上的资源。(乘以用户数量。)这里的选择是在单个持久连接之间,或者只是按需创建连接。第一个导致更快的查询,因为您没有建立和拆除连接的开销。第二个速度较慢,但对数据库服务器的要求也较低。
于 2011-09-01T05:57:30.727 回答
0
绝对是连接池。绝对没有理由为每个线程创建一个新连接。但是,例如,对整个 HTTP 请求使用相同的连接可能是有意义的(特别是如果您需要事务)。
您可以轻松地将连接池框架配置为具有最小和最大连接数,具体取决于您使用的数据库。但在将最大连接数设置得太高之前,如果遇到性能问题,请尝试使用缓存。
于 2011-09-01T05:38:17.963 回答
0
连接池肯定而且几乎总是如此。
创建新的数据库连接对性能来说非常昂贵。并且不同的数据库引擎(取决于许可或只是设置)具有不同的最大连接数(有时甚至是 1,通常不超过 50)。
使用 Per-Thread 连接的唯一原因是,如果您知道有一定数量的持久线程(例如 10 个)。我无法想象现实世界中的这种情况。
于 2010-05-24T17:40:16.130 回答