zoukankan      html  css  js  c++  java
  • MyBatis 数据源的原理和机制

    回顾JDBC

    JDBC访问数据库流程
    1. 加载驱动
    2. 获取Connection连接对象(消耗性能)
    3. 获取PrepareStatement对象
    4. 执行SQL语句
    5. 获取结果集
    6. 关闭Connection连接对象
    存在问题

    频繁访问数据库时,由于反复创建和释放Connection连接对象,导致系统性能下降(特别在高并发情况下)

    数据源的概念

    数据源是一种提高 JDBC 访问数据库性能的常规手段

    数据源的原理

    数据源会负责维持一个数据库连接池,连接池中会一次性地提前创建多个 Connection 连接对象,并把这些Connection连接对象保存在连接池中。

    • 当程序需要进行数据库访问时,无须进行重新获取 Connection 连接对象,而是从连接池中取出一个空闲的Connection连接对象。

    • 当程序使用 Connection 连接对象访问数据库结束后,无须关闭 Connection 连接对象,而是归还给数据库连接池中。通过这种方式,就可以避免频繁访问数据库时性能下降的问题

    • 当 Connection 连接对象耗尽时,连接池会批量创建一批 Connection 连接对象存放到连接池中。当连接池中有长期未使用的 Connection 连接对象,则会自动将其释放,以节省内存空间。

    数据源的本质

    数据源相比JDBC而言,优点在于大大提高了数据访问的性能,缺点是需要占用更多的内存空间,本质上是一种以空间换时间的性能优化思想。

    作者:Binge
    本文版权归作者和博客园共有,转载必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    ASP.NET MVC2 第四章Ⅱ
    关于Windows 7硬盘安装方法大全
    新手看Lambda
    ASP.NET MVC2 第五章Ⅲ
    守护线程
    双鱼
    信号量与互斥锁
    public,private,protected访问权限在Java,C++中的解析
    final in java
    Java code standard
  • 原文地址:https://www.cnblogs.com/binbingg/p/13752936.html
Copyright © 2011-2022 走看看