`

数据库为什么要添加连接池

阅读更多

今天在学习kauklahti的时候,自己写了一个Jdbc连接mysql的例子。算是复习了一下Jdbc的用法。

 

整个例子的源码如下:
 
//------------------------------------------------------------------------------------
import java.sql.Connection;
 
public class Database{
 
   private Connection connection;
   
   public Database(){
       Class.forName("com.mysql.jdbc.Driver").newInstance();   // 注册驱动
   }
   
   // 查询help_relation中help_topic_id小于100的数据,
   // 并打印输出
   public excuteQuery(){
       String url ="jdbc:mysql://localhost:3306/mysql?user=root&password=654321";
       connection = DriverManeger.getConnection(url);
       Statement statement = connection.createStatement();
       String sql ="select * from help_relation where help_topic_id<100";
       ResultSet rs = statement.executeQuery();
 
        while(rs.next){
               System.out.printlnl(rs.getString(1));
         }   
   }
 
      // 测试主函数
   public static void main(String[] args){
               new Database().executeQuery();
   }
}
//-----------------------------------------------------------------------------------
 
到此,jdbc连接mysql数据的工作已经完成了,但是这里我突然想出了一个问题:为什么所有的数据
在大负载的情况下都要用连接池?
 
 
现在通过这个简单的例子可以清楚的看到,如过每次我们请求数据时,都要创建一个Database对象,
通过该对象提供的方法来查询数据库,该对象中封装了一个Connection,这个连接用于连接msyql,
相当于在mysql和java之间建立了一条数据的传输通道。并且是一个独立的线程。如果有很多Connection
操作同时连接到mysql的时候,就需要建立很多的Connection,这样的话无疑是浪费了很多的Connection
实例。并且用可能引起内存泄漏,为了避免这样情况的方法,使用连接池可以缓解数据库的压力。
 
如果不添加连接池,最有可能影响数据库性能的一种现象是:
当msyql的负载(connection)已满,当前已经连接到msyql上的数据库的Connection都在等待mysql返回数
据,如果再有新的连接进来,也只能处于等待状态,当mysql中已有的连接完成查询退出后,新的连接才
能进入到mysql数据库中。这时新进来的Connection需要重新创建连接,无法复用已经创建的连接对象。
 
对于数据库来说,创建和断开连接是比较耗费资源的。因此使用连接池来重复使用已经创建好的对象可以
极大节省数据库的查询时间。
 
以上几点是本人在做Facebook的应用插件SuperMarket的时候的一个总结。
                                                                                          
                                                                         时间2010/03/03
分享到:
评论

相关推荐

    数据库连接池管理策略

    数据库连接池管理策略是优化数据库应用性能的关键环节。在软件开发中,特别是涉及到与数据库交互的应用,连接池的使用能够显著提升系统效率。本文将详细解释数据库连接池的工作原理、优缺点以及如何进行管理和配置。...

    Java jdbc数据库连接池总结

    数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。我们可以通过设定连接池最大连接数来...

    weblogic连接池配置数据库断掉重连的问题

    Weblogic 连接池配置数据库断掉重连的问题 在 Weblogic 中,连接池配置数据库断掉重连是一个非常重要的问题。连接池配置是 Weblogic 中的一种机制,用于管理与数据库的连接。然而,在实际应用中,我们经常会遇到...

    数据库连接池以及hibernate对各种连接池的整合

    2. **Proxool**:它是一个可以将其他类型的JDBC驱动封装进连接池的Java SQL Driver,具有高度可配置性,快速且稳定,能为现有JDBC驱动添加连接池功能。 3. **Jakarta DBCP**:基于Apache Commons Pool的对象池机制...

    关于数据库连接池和动态数据源的实现

    数据源连接池的基本用法,配置信息,代码案例、 实现数据源的动态切换和案例 数据源连接池的基本用法,配置信息,代码案例、 实现数据源的动态切换和案例 数据源连接池的基本用法,配置信息,代码案例、 实现...

    HikariCP数据库连接池实战.docx

    HikariCP 数据库连接池实战 HikariCP 是一个高性能的 Java 数据库连接池,由 Zachary Tong 开发并维护。它基于 Apache Commons DBCP,并进行了许多优化和改进,以提供更好的性能和可扩展性。 HikariCP 的核心理念...

    durid数据库连接池的使用方式,定义了工具类,可以通过durid方式访问数据库,实现对数据库的添加

    durid数据库连接池的使用方式,定义了工具类,可以通过durid方式访问数据库,实现对数据库的添加

    hibernate配置数据库连接池的三种方法

    数据库连接池是应用程序管理和维护数据库连接的一种高效策略,它的核心思想是减少创建和销毁数据库连接的开销。在没有连接池的情况下,每次需要与数据库交互时,程序都会创建一个新的连接,执行完毕后再关闭该连接。...

    WebLogic配置数据库连接池

    WebLogic 配置数据库连接池 WebLogic 是一种基于 Java 的应用服务器,提供了强大的功能来管理和部署企业级应用程序。配置数据库连接池是 WebLogic 中一个非常重要的步骤,它可以帮助我们更好地管理数据库连接,提高...

    轻量级java数据库连接池

    自己写的轻量级的数据库连接池,项目打包文件,下载添加数据库驱动jar包就能使用

    TOMCAT数据库连接池配置说明文档

    全局连接池适用于多个应用共享同一个数据库连接,而局部连接池则为每个应用独立配置。 总之,TOMCAT数据库连接池的配置涉及多个步骤,包括下载管理工具、配置服务器、创建数据源、编写XML配置文件以及在Java代码中...

    tomcat数据库连接池设置

    在 web 应用程序的 web.xml 文件中,我们需要添加一个数据源参考,以便应用程序能够正确地使用数据库连接池。下面是一个示例配置: ``` &lt;description&gt;MySQL DB Connection Pool &lt;res-ref-name&gt;jdbc/DBPool ...

    springboot +mybatis(durid的数据库连接池)+freemarker--可能我freemaker的依赖没有加到时候自己再pom文件下加一下

    springboot +mybatis(durid的数据库连接池)+freemarker

    Tomcat中配置MySQL数据库连接池.doc

    为什么需要数据库连接池 在传统的数据库连接方式中,每个请求都需要建立一个新的数据库连接,当请求结束后,连接将被关闭。这种方式会导致大量的系统资源被浪费,especially 在高并发的环境中。使用数据库连接池...

    Tomcat_6.0配置oracle数据库连接池

    总的来说,配置Tomcat 6.0的Oracle数据库连接池涉及修改`context.xml`,添加Oracle驱动到`lib`目录,并在Java代码中正确引用数据源。这一过程有助于提升应用程序对数据库操作的效率和稳定性。请注意,实际生产环境中...

    Java数据库连接池.doc

    通常设置为"Container")、`type`(DataSource接口)、`driverClassName`(数据库驱动类名)、`url`(数据库连接URL)、`username`和`password`(数据库登录凭证),以及`maxActive`、`maxIdle`和`maxWait`(连接池...

    WebSphere数据库连接池配置.doc

    WebSphere 数据库连接池配置 在 WebSphere 环境中,配置数据库连接池是非常重要的一步骤。数据库连接池是指在应用服务器中维护的一组数据库连接的集合,使应用程序能够能够快速地获取数据库连接,从而提高应用程序...

    tomcat连接池与阿里Druid连接池

    Tomcat 连接池配置需要在 Maven 项目中添加 Tomcat JDBC 依赖项,并在 application.properties 文件中配置数据库连接信息。下面是 Tomcat 连接池的配置示例: ```xml &lt;!-- Tomcat JDBC 依赖项 --&gt; &lt;groupId&gt;org....

    DBCP数据库连接池.pdf

    然后,这些Bean会被添加到一个列表(List)中,这样在需要时就可以通过连接池的名称从列表中查找并获取相应的数据库连接。 使用DBCP的具体流程大致如下: 1. 加载XML配置文件,解析出所有连接池的配置信息。 2. ...

    Tomcat配置数据库连接池

    在IT行业中,数据库连接池是优化数据库操作性能的关键技术之一,尤其在Web开发中尤为重要。本文将详细讲解如何在Tomcat服务器上配置数据库连接池,以及为何需要使用它。 首先,我们来理解“连接池”是什么。连接池...

Global site tag (gtag.js) - Google Analytics