为什么我们需要JDBC的连接池?

tar*_*lah 17 java connection-pooling jdbc h2 threadpool

  • 使用像DBCPc3p0这样的JDBC连接池工具有什么好处?

  • 如果一个用户有一个小型CRUD应用程序,我们可以创建一个连接会话作为单例吗?

PS:我正在用一个小型数据库(5个表)构建一个小型javafx应用程序h2.

0x6*_*C38 12

来自Jon Skeet的回答是什么是连接和语句池的好处?:

创建与数据库服务器的网络连接(相对)昂贵.同样要求服务器准备SQL语句(相对)昂贵.

使用连接/语句池,您可以重用现有的连接/预准备语句,避免启动连接,解析SQL等的成本.

以下是Kent Boogaart的回答:

我不熟悉c3p0,但汇集连接和语句的好处包括:

  1. 性能.连接到数据库既昂贵又缓慢.池化连接可以物理连接到数据库,并在需要数据库访问的各种组件之间共享.这样,连接成本支付一次,并在所有消费组件中摊销.

  2. 诊断.如果您有一个负责连接到数据库的子系统,则可以更轻松地诊断和分析数据库连接使用情况.

  3. 可维护性.同样,如果您有一个负责分发数据库连接的子系统,那么与每个组件连接到数据库本身相比,您的代码将更容易维护.

  • 从这里抄袭:http://stackoverflow.com/a/457305/19679,在这里:http://stackoverflow.com/a/457303/19679.你真的喜欢听Jon Skeet的话,不是吗? (7认同)