1.(转载)

数据库和应用程序的连接不是无限制的。要知道一点就是,无论是什么数据库都是按可连接数和可支持CPU数来卖的,但现在的企业老板都希望成本降到最低,所以买数据库肯定不会花多少钱,买服务器也不会买多少CPU啦,这样你能随便浪费数据库连接吗?

如果你几下就把数据库连接用完了,别人就连不上了,所以必须是连上以后马上读数据,读完数据马上关闭,把连接数据库的机会赶快让出来。

但是每次在关闭、重新连接数据库之间,这个操作是很复杂的,^_^,当然这已经被封装起来,不用你去管,但很费时间,而连接池就是把连接缓存起来,而不是销毁,当你用完以后并关闭的时候,并不销毁这个连接,而是把他保存起来,留着给其他人用,免得下去重新生成这个连接

2.(转载)

数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。

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

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

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

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

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

http://www.cnblogs.com/chorrysky/archive/2007/09/27/908075.html

下回分解

数据库连接在哪?数据库连接池相关推荐

  1. Python 数据库连接方法和数据库连接池

    Python连接数据库 Python官方制定的数据库接口标准中,主要包含了顶层connect函数.部分常量.数据库操作异常.用于管理连接的Connection类以及执行查询的Cursor类. DBUt ...

  2. 数据库连接之jdbc连接池

    BC 1. 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 JDBC本质:官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口,s ...

  3. java 数据库连接 释放_java - 数据库连接池耗尽 - Java - 堆栈内存溢出

    timeout变量似乎不对应于连接空闲的时间,而是对应于池等待返回新连接或抛出异常的时间(我看了一下这个源代码 ,不知道是不是已是最新). 我认为跟踪"空闲"连接是相当困难的,因为 ...

  4. spring-boot配置MySQL数据库连接、Hikari连接池、和Mybatis的简单方法

    此方法为极简配置,支持MySQL数据库多库连接.支持Hikari连接池.支持MyBatis(包括Dao类和xml文件位置的配置). 如果需要更灵活的自定义配置(比如支持分页插件),请参考:http:/ ...

  5. oracle数据库连接拒绝,Oracle 数据库连接失败问题

    Oracle 数据库连接失败问题 Oracle 数据库连接失败问题 为什么80%的码农都做不了架构师?>>> 环境上安装的是oracle11g,其实oracle的安装是比较容易的,w ...

  6. 数据库连接字符串 mysql_数据库连接字符串(MySQL,SQL Server,Oracle)

    数据库连接字符串(在java中使用) =====MySQL===== String driverClass="com.mysql.jdbc.Driver; String url=" ...

  7. mysql 配置多个数据库连接_SpringBoot多数据库连接(mysql+oracle)

    mysql(springboot)[primary,优先搜寻该数据库]:mysql数据库,包含User的信息 oracle(springboot): oracle数据库, 包含Country信息 项目 ...

  8. asp转php后数据库连接代码,ASP_asp 数据库连接函数代码,以下是SQL连接代码: 复制代码 - phpStudy...

    asp 数据库连接函数代码 以下是SQL连接代码: 复制代码 代码如下: Function Open_conn() dim Conn,Strconn set Conn=server.createobj ...

  9. php怎么跟数据库连接,php跟数据库连接的方法

    php跟数据库连接的方法 发布时间:2020-09-17 14:42:33 来源:亿速云 阅读:91 作者:小新 这篇文章主要介绍了php跟数据库连接的方法,具有一定借鉴价值,需要的朋友可以参考下.希 ...

  10. oracle数据库连接违反,Oracle 数据库连接的一些坑

    问题: ORA-12504:TNS:监听程序在CONNECT_DATA中未获得SERVICE_NAME ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求服务 解决办法: 1 权限 ...

最新文章

  1. 小贝_mysql select连接查询
  2. 2010.6.15 常用数据类型转换总结
  3. sql like N'%%',N 是代表什么意思 及Like语句详解
  4. Puppet 4 性能提升超2倍,升级前应该你知悉的变化
  5. vue hot true 不起作用_从源码解读 Vuex 注入 Vue 生命周期的过程
  6. POJ 2396 构造矩阵(上下流)
  7. STL学习小记--与C++模板相关的几个特性
  8. 计算机感染病毒后 一定不能清除的措施是,计算机感染病毒后,一定不能清除的措施是()。...
  9. Linux文件系统和文本编辑器
  10. 为了养成NLP卷王,我画了一张路线图
  11. c#输出最大值、最小值和平均值(B)【C#】
  12. vuecli3 配置多个代理
  13. 创建图表_三种建立Excel图表的方法,谁用谁知道
  14. 初次尝试CE修改器修改小游戏
  15. 指数函数的计算机语言,怎么使用C语言求幂函数和指数函数
  16. 盛格塾丨品鉴《金石录后序》
  17. 【JY】橡胶支座的简述和其力学性能计算
  18. 简单实现微信小程序音乐音频播放的功能
  19. 不背公式快速计算IP地址掩码---游码法
  20. 苹果A系列芯片的三年AI进化:为何要大规模升级AI算力?

热门文章

  1. MySQL基础教程——创建数据库并插入数据
  2. webpack打包命令报错显示无法加载文件——解决办法
  3. red5 FAQ - 刚接触red5的可以看看
  4. 对付木马:空手入白刃谁动了我的电脑系统(转)
  5. 听懂新闻英语的十大方法(zt)
  6. 真丶深入理解 JavaScript 原型和原型链(二):原型和原型链
  7. 你们要的网页版matlab来了,速领!
  8. 一个有意思的小故事,希望以后也有这种修养,也能这样厚道
  9. Moving.............
  10. Serializable transient