0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

数据库连接池工作机制

工程师 来源:网络整理 作者:h1654155205.5246 2019-03-22 16:28 次阅读

数据库连接池

数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。

数据库连接池的工作机制

数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。

数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数来设定的。无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中。

数据库连接池的最小连接数和最大连接数的设置要考虑到下列几个因素:

1)最小连接数是连接池一直保持的数据库连接,所以如果应用程序对数据库连接的使用量不大,将会有大量的数据库连接资源被浪费;

2)最大连接数是连接池能申请的最大连接数,如果数据库连接请求超过此数,后面的数据库连接请求将被加入到等待队列中,这会影响之后的数据库操作。

3)如果最小连接数与最大连接数相差太大,那么最先的连接请求将会获利,之后超过最小连接数量的连接请求等价于建立一个新的数据库连接。不过,这些大于最小连接数的数据库连接在使用完不会马上被释放,它将被放到连接池中等待重复使用或是空闲超时后被释放。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据库
    +关注

    关注

    7

    文章

    3590

    浏览量

    63365
收藏 人收藏

    评论

    相关推荐

    通过Modbus读写数据库中的数据

    本文是将数据库数据转为Modbus服务端/从站,实现数据库内的数据也可以走Modbus协议通过网口或串口读写的案例,下图是通过智能网关的参数软件(在附件中)配置的参数: 上图中的配置
    发表于 03-14 13:44

    元件数据库

    软件可以识别设备的元件数据库就好了,我们公司的机器数据都是用物料编码建立的
    发表于 11-16 14:39

    MySQL与Redis数据库连接池应用

    一、概念 数据库连接池(Connection pooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个
    的头像 发表于 11-10 16:40 249次阅读
    MySQL与Redis<b class='flag-5'>数据库</b><b class='flag-5'>连接池</b>应用

    了解连接池、线程池、内存池、异步请求池

    后可被重复使用像常见的线程池、内存池、连接池、对象池都具有以上的共同特点。 连接池 什么是数据库连接池 定义:数据库
    的头像 发表于 11-09 14:44 279次阅读
    了解<b class='flag-5'>连接池</b>、线程池、内存池、异步请求池

    如何在HarmonyOS对数据库进行备份,恢复与加密

    适用的数据库加密能力,从而对数据库存储的内容实施有效保护。通过数据库加密等安全方法实现了数据库数据存储的保密性和完整性要求,使得
    发表于 11-07 08:57

    关于PLC设备对接ORACLE数据库上传查询数据

    智能网关IGT-DSER方便实现PLC与数据库之间的数据通讯,既可以读取PLC的数据上报到数据库,也可以从数据库查询
    发表于 10-12 15:34

    oracle数据库如何连接

    oracle数据库如何连接  Oracle数据库是目前非常流行的关系型数据库管理系统,它可以在各种平台上运行,因此它是企业级应用程序的首选数据库
    的头像 发表于 08-28 17:09 9393次阅读

    python读取数据库数据 python查询数据库 python数据库连接

    python读取数据库数据 python查询数据库 python数据库连接 Python是一门高级编程语言,广泛应用于各种领域。其中,Pyt
    的头像 发表于 08-28 17:09 1190次阅读

    SQLite数据库能共享吗?

    个人电脑或移动设备上的单个用户。但是,SQLite数据库实际上是可以在多用户环境中使用的,只要它被正确地配置和管理。 在SQLite中,多用户共享数据库的常见方法有两种:使用数据库连接池
    的头像 发表于 08-28 16:41 1912次阅读

    连接查询(1)#数据库

    数据库
    未来加油dz
    发布于 :2023年07月18日 18:02:53

    数据库数据模型设计(2)#数据库

    数据库
    未来加油dz
    发布于 :2023年07月18日 17:54:39

    MYSQL数据库的锁机制#数据库

    数据库
    未来加油dz
    发布于 :2023年07月18日 17:34:03

    连接和访问数据表(2)#数据库技术

    数据库
    未来加油dz
    发布于 :2023年07月11日 16:26:26

    连接和访问数据表(1)#数据库技术

    数据库
    未来加油dz
    发布于 :2023年07月11日 16:25:45

    ESP8266 AP &amp; STA如何在数据库中标记日期和时间?

    你好 !我想连接服务器以获取时间和日期,并在数据库上标记我的 ESP8266 的每次使用我需要你的帮助来获得一个脚本,让我连接到 wifi 服务器,在连接到 NOSQL 之后给出正确的
    发表于 05-08 07:13