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
    本文版权归作者和博客园共有,转载必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    动画:UIViewAnimationOptions类型
    ReactiveCocoa--RACTuple
    RACSignal的一些常用用法
    神奇的RAC宏
    UITableViewStyleGrouped模式下多余间距
    UITableViewStyleGrouped模式下烦人的多余间距
    上传到 App Store 时出错。
    [iOS]详解调整UIButton的title和image的位置
    规范化目录

  • 原文地址:https://www.cnblogs.com/binbingg/p/13752936.html
Copyright © 2011-2022 走看看