对数据库连接的一点感悟
2011-11-29 22:03
218 查看
数据库就是部署在一台设备上的服务器软件,通过数据库可以存储各种各样的数据。
要对数据库进行增删改查等操作必须先与数据库建立连接,各种应用程序都可以与数据库建立连接,但在同一时刻与数据库建立的连接数量有一定的限制。以MySQL5.0为例,在my.ini中可以配置最大的并发连接数量:
max_connections=100
安装完成后默认的最大并发连接数为100,,如果超过100数据库将报错,提示连接过多。
一个连接在任何时间点都只能被一个操作占用,如果被两个操作占用可能会出现连接被打断的异常。在一个操作使用完毕后可以被另一个操作使用,连接在关闭后将不能被使用。以java连接Mysql为例,建立连接和释放连接的过程比较费时,开销较大。如果每个访问数据库的操作都先建立连接,再访问数据库,最后再释放连接那么整体性能将受到影响,很多时间都花费在建立连接和释放连接上了。为此,引入了数据库连接池,数据库连接池中存放了一定数量的连接,每次都从这里面获取连接,用完之后再放回,供其它操作获取。以c3p0为例,可以设置最大连接数、最小连接数、初始连接数、获取连接等待时间等参数。关闭连接也是软关闭,并不是真正意义上得关闭,真正意义的关闭将使得该连接不可用。关闭时只是将其标志改为“未使用”,其它操作可以获取此连接。
适当的增加最大连接数有利于增加系统的并发性能。
要对数据库进行增删改查等操作必须先与数据库建立连接,各种应用程序都可以与数据库建立连接,但在同一时刻与数据库建立的连接数量有一定的限制。以MySQL5.0为例,在my.ini中可以配置最大的并发连接数量:
max_connections=100
安装完成后默认的最大并发连接数为100,,如果超过100数据库将报错,提示连接过多。
一个连接在任何时间点都只能被一个操作占用,如果被两个操作占用可能会出现连接被打断的异常。在一个操作使用完毕后可以被另一个操作使用,连接在关闭后将不能被使用。以java连接Mysql为例,建立连接和释放连接的过程比较费时,开销较大。如果每个访问数据库的操作都先建立连接,再访问数据库,最后再释放连接那么整体性能将受到影响,很多时间都花费在建立连接和释放连接上了。为此,引入了数据库连接池,数据库连接池中存放了一定数量的连接,每次都从这里面获取连接,用完之后再放回,供其它操作获取。以c3p0为例,可以设置最大连接数、最小连接数、初始连接数、获取连接等待时间等参数。关闭连接也是软关闭,并不是真正意义上得关闭,真正意义的关闭将使得该连接不可用。关闭时只是将其标志改为“未使用”,其它操作可以获取此连接。
适当的增加最大连接数有利于增加系统的并发性能。
相关文章推荐
- 每天一点数据库之-----Day 9 表连接
- 关于VC数据库开发中数据库连接与效率的问题-----一点体会和经验
- 关于javabean的数据库连接 和分页 代码 效率不是最高的 ,能给初学的人一点帮助
- 用dbExpress连接数据库的一点记录
- 一天一点T-SQL:数据库用户连接模式修改
- 数据库左连接的一点知识
- ASP对数据库连接问题的一点总结
- 数据库左连接的一点知识
- 对php中数据库永久连接的一点理解
- 关于数据库连接的一点浅见
- Sqldeveloper与Sqlplus连接远程数据库的一点不同(Oracle 真是坑爹啊)
- 用eclipse连接MySQL的一点心得体会,如何加载数据库驱动
- mybatis中的一点优化问题(数据库连接分开,别名,日志打印)
- c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程
- 数据库左连接的一点知识
- 利用weblogic的POOL(连接池)连接数据库
- C#连接数据库--VS中使用MYSQL connect Net 连接本地MYSQL
- sql server 2005怎么连接sql server 2000数据库
- QT中ODBC连接数据库提示QSqlDatabase: QODBC driver not loaded
- MyBatis动态连接数据库,动态传入数据库参数