【发布时间】:2015-10-29 19:19:39
【问题描述】:
在数据库连接池中,
- 每个连接是否对应数据库中的 1 个线程?
- 真的很重要吗?我的意思是,可能有一个线程池 执行器,执行连接对象必须执行的任何操作?
我想知道它是如何工作的,因为这将有助于理解这些东西实际上是如何调整的。
到目前为止,我的理解是“一个连接 - 一个线程”。否则为什么大多数数据库会阻塞?
【问题讨论】:
-
您使用的是什么数据库管理系统?您使用的是什么 Java 驱动程序/连接器?
-
@kdbanman 我认为有一种方法包括了解您正在做的事情的总体情况,这与您可能实现的特定代码一样重要。稍微抽象一点也不是坏事。
-
然而,为了回答你的问题,我正在与一个名为 Stardog 的 TripleStore 合作。数据库客户端,建议设置您的池大小。卖家给出了一些建议。但总的来说,我认为理解如何调整这些东西,需要对线程和数据库的功能有更深入的了解。
-
你说的是“它”,但没有说出野兽的名字。这取决于游泳池。在我的服务器创建的连接中,每个池连接都相当于数据库中的一个线程。这就是我的“它”的特点。这并不能保证所有“它的”都这样工作。
标签: java multithreading database-connection connection-pooling