论数据库连接的创建与关闭对程序性能的影响数量级
2014-11-03 09:55
387 查看
今天有个同事说某个应用程序卡住了10秒,是因为代码里进行了两个数据库的连接导致。我觉得不可思议。
根据验证,从打开数据库,执行一条简单的sql,到关闭数据库连接,大概需时0.001秒~0.002秒。
当然,这个结果与数据库性能、主机性能、连接代码的优劣也有关系。
但是从数量级上看,如果只是操作一次或数次,数据库的连接关闭与应用程序的性能关系是不大的。
但是,如果在一次操作应用程序中,连接上千次,那么就会有很大的影响。毕竟1~2秒对于大部分的应用响应来说都是巨额的耗费。
结论:非高实时性的普通应用,遇到性能问题,不要首先归结于仅仅是几次的数据库连接。从其他地方入手,比如是否sql过慢,是否上千次的数据库连接关闭,是否循环的代码造成,是否死锁等等。最后才检查是否数据库连接的代码写的有问题。
测试数据库:Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi
测试主机:Red Hat Enterprise Linux Server release 6.3
根据验证,从打开数据库,执行一条简单的sql,到关闭数据库连接,大概需时0.001秒~0.002秒。
当然,这个结果与数据库性能、主机性能、连接代码的优劣也有关系。
但是从数量级上看,如果只是操作一次或数次,数据库的连接关闭与应用程序的性能关系是不大的。
但是,如果在一次操作应用程序中,连接上千次,那么就会有很大的影响。毕竟1~2秒对于大部分的应用响应来说都是巨额的耗费。
结论:非高实时性的普通应用,遇到性能问题,不要首先归结于仅仅是几次的数据库连接。从其他地方入手,比如是否sql过慢,是否上千次的数据库连接关闭,是否循环的代码造成,是否死锁等等。最后才检查是否数据库连接的代码写的有问题。
测试数据库:Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi
测试主机:Red Hat Enterprise Linux Server release 6.3
相关文章推荐
- EF Core 2.0中Transaction事务会对DbContext底层创建和关闭数据库连接的行为有所影响
- C#提升性能"数据库连接打开与关闭"经验分享(附:优化过的DBHelper类) 之配餐系统的开发
- C#提升性能"数据库连接打开与关闭"经验分享(附:优化过的DBHelper类) 之配餐系统的开发
- 创建第一个ASP.NET CORE程序 使用DBFirst模式连接数据库
- Visual Studio 2010不能创建数据库连接出现:未能加载文件或程序集
- 频繁打开数据库连接是否影响性能的疑惑
- c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程
- C#提升性能"数据库连接打开与关闭"经验分享(附:优化过的DBHelper类) 之配餐系统的开发
- oracle创建实例化数据库或者连接别的远程主机数据库提示“无监听程序”的解决办法
- AIX 6.1 参数配置分析和建议-关闭影响性能的系统程序
- ORA-00106: 无法在连接到调度程序时启动/关闭数据库
- 在析构函数中关闭数据库连接出现 .Net Framework 数据提供程序错误 1
- C#提升性能"数据库连接打开与关闭"经验分享(附:优化过的DBHelper类) 之配餐系统的开发
- Oracle sql 调优:使用虚拟索引在生产环境测试创建索引对数据库性能的影响
- SQL对程序性能的影响 分类: 数据库 2009-11-14 04:06 327人阅读 评论(0) 收藏
- 在一个大DataTable的基础上去除重复数据,分别创建2个小DataTable,省去多次数据库连接,提高效率,加快程序运行
- 关注程序性能(1)jconsole 连接远程linux上的tomcat,以及解决配置后tomcat关闭不了的问题
- Visual Studio 2010不能创建数据库连接出现:未能加载文件或程序集
- C#提升性能"数据库连接打开与关闭"经验分享(附:优化过的DBHelper类) 之配餐系统的开发
- C#提升性能"数据库连接打开与关闭"经验分享(附:优化过的DBHelper类) 之配餐系统的开发