数据库连接在连接池中到底意味着什么

what exactly does a database connection mean in connection pool

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

是否意味着

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

取决于池配置中池的最小最大值。

如果默认情况下您将最小池大小设置为 3,则池将始终有 3 个连接可以随时分发。如果所有 3 个都在使用,那么它将等待分发另一个,直到有一个进来,除非池最大大小大于 3。然后池的大小可以增长。在达到最大大小限制之前,这只是设置和建立连接的开销。一旦池连接空闲了一段时间,池将减少连接,直到再次达到 min 3。

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

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