Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么我们需要JDBC的连接池?_Java_Jdbc_Threadpool_Connection Pooling_H2 - Fatal编程技术网

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

Java 为什么我们需要JDBC的连接池?,java,jdbc,threadpool,connection-pooling,h2,Java,Jdbc,Threadpool,Connection Pooling,H2,使用像或这样的JDBC连接池工具有什么好处 如果一个小CRUD应用程序有一个one用户,我们是否可以创建一个one连接会话作为一个单例 PS:我正在构建一个小型javafx应用程序,其后端是一个微型h2数据库(5) 表) 来自Jon Skeet的回答: 创建到数据库服务器的网络连接是(相对而言) 昂贵的。同样,要求服务器准备SQL语句也是非常困难的 (相对)昂贵 使用连接/语句池,可以重用现有的 连接/准备好的报表,避免启动 连接、解析SQL等 以及以下,摘自: 我不熟悉c3p0,但了解共享连

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

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

  • PS:我正在构建一个小型
    javafx
    应用程序,其后端是一个微型
    h2
    数据库(5)
    表)

    来自Jon Skeet的回答:

    创建到数据库服务器的网络连接是(相对而言) 昂贵的。同样,要求服务器准备SQL语句也是非常困难的 (相对)昂贵

    使用连接/语句池,可以重用现有的 连接/准备好的报表,避免启动 连接、解析SQL等

    以及以下,摘自:

    我不熟悉c3p0,但了解共享连接的好处 声明包括:

  • 表演。连接到数据库既昂贵又缓慢。池连接可以保持与数据库的物理连接, 并在需要访问数据库的各个组件之间共享。 这样,连接成本一次性支付,并在所有项目中摊销 消费成分

  • 诊断。如果您有一个子系统负责连接到数据库,那么诊断和分析数据库就会变得更容易 连接使用情况

  • 可维护性。同样,如果您有一个子系统负责分发数据库连接,那么您的代码将更易于维护 如果每个组件都连接到数据库本身


  • 创建连接的成本很高,而且为每个事务创建一个可能只需要几毫秒的新连接是没有意义的。在池中管理数据库连接意味着应用程序可以以避免连接创建时间的方式执行数据库事务(仍然需要创建连接,但它们都是在启动时创建的)。缺点是,如果所有连接都在使用中,并且需要另一个连接,则请求线程必须等待连接返回池。

    此处剽窃:此处:。你真的很喜欢听Jon Skeet的话,不是吗?