具有单个连接的连接池与用于不频繁查询的连接

时间:2017-03-30 19:08:11

标签: java sql connection-pooling

我正在构建一个Java应用程序,每分钟查询一次我的SQL服务器。现在,应用程序正在使用具有单个连接的连接池(最小池大小为1,最大池大小为1)。

我认为池大小为1就足够了,因为不常见的查询(每分钟一次,如前所述)。

我是否需要连接池,如果答案是肯定的,那么1个连接是否足够?或者我应该不使用游戏池并每分钟打开一个新连接?

3 个答案:

答案 0 :(得分:1)

  

使用具有单个连接的连接池(最小池大小为1,最大值为   泳池大小1)。

在这种情况下,看不到使用连接池的任何需要或好处,因为在任何时间点只有一个连接对象,如果它正在使用,那么其他请求必须等待(或)创建非池化连接对象。

连接池通常用于节省创建/撕毁连接对象的时间/资源。

在您的具体情况下,您可以创建一个连接实例,并在完成工作后将其丢弃。

答案 1 :(得分:1)

我想给出一些使用连接池的理由,可能有多个连接。不确定你是否在考虑这种消极情况。

在现实世界中,查询可能会因各种原因运行超过1分钟。 您希望应用程序等待挂起连接吗?或者你对此的预期行为是什么?

此外,如果使用连接池,则会在生成池时完成数据库连接初始化过程(耗费时间和资源)。当您实际使用数据库连接池时,应该已经完成​​了一些初始化步骤,以便在应用程序运行查询时减少重复开销。

答案 2 :(得分:0)

如果您很少访问数据库,那么实际上有一个连接池将不会提供任何显着的好处。但是,如果它已经写好了,我会保留它。也许有一天你的应用程序会增长,你会发现游泳池很有用。这不是一件坏事。