数据库连接在连接池中的确切含义

时间:2015-06-11 18:42:36

标签: java database connection-pooling

假设我有一个3连接的数据库连接池。

这是否意味着

  1. 与db有三个活动的TCP连接?
  2. 只能并行运行3个查询,每个连接一个查询?

1 个答案:

答案 0 :(得分:1)

取决于池配置中的最大池数。

如果默认情况下您将最小池大小设置为3,那么池将始终具有3个连接以随时分发。如果所有3个都在使用中,那么它将等待分发另一个,直到其中一个进入UNLESS池最大大小高于3.然后池可以增加大小。只是在达到最大大小限制之前,才会产生设置和建立连接的开销。一旦池连接空闲一段时间,池将切断连接,直到再次达到最小值3。

所以直接回答你的问题: 数据库连接池为3(假设这是MIN值)

  1. 是的,池正在管理3个活动连接,任何时候都不允许低于3。
  2. 根据最大池大小,不能超过3。如果3是最小和最大池大小,则是,你将限制可以真正并行运行的内容。