当前位置:   article > 正文

Access,Mysql数据库速度测试_access的处理速度

access的处理速度

Access在多个数据库多表中读取

Release版直接点击exe下运行

以MMQ工程为例,读取desi类型数据库

1.105个数据库,每个数据库169个表,共 151336条记录,时间:31

2.数据库连接及表格连接(不读取内容),时间:23

3.数据库连接,时间:1 

Access在1个数据库1个表中读取

Release版直接点击exe下运行

以MMQ中的MMQ0185_0001.mdb为例,读取MMQ0185_0001.mdb数据库

1.1个数据库,读取scom表,共 162259条记录,25个字段,时间: 10

2. 1个数据库,读取scom表,共 293325条记录,35个记段,时间:20

3. 1个数据库,读取scom表,共 293325条记录,9个记段无值的数值型字段, 时间:3

Mysql在1个数据库1个表中读取

Release版直接点击exe下运行

以MMQ中的MMQ0185_0001.mdb为例,读取MMQ0185_0001.mdb数据库

1.1个数据库,读取scom表,共 292147条记录,25个字段,时间:24

单全亮(634772208)  10:42:48
一、读取并解析293325条记录(25列,release下测试)
 1、使用ole db访问access
结果:平均消耗43797ms,去除for循环中临时对象CString的构造,平均消耗25787ms,提速41%
 2、使用ODBC访问mysql5.5(使用8.0版本测试结果差不多)
测试结果:消耗51044ms
 3、使用mysql c lib访问mysql5.5(使用8.0版本测试结果差不多)
结果:消耗11373ms

二、带where条件读取并解析条纪录(从293325条中选出16671条记录,25列,release下测试)
 1、使用ole db访问access
结果:平均2699ms
 2、使用ODBC访问mysql5.5(使用8.0版本测试结果差不多)
结果:平均4524ms
 3、使用mysql c lib访问mysql5.5(使用8.0版本测试结果差不多)
结果:2193ms

本次测试结论:
1、使用ole db技术访问,access相对来说占优,使用mysql自带c接口访问,mysql占优。
2、对底层有效率要求的代码,要注意代码编写。本次测试中发现构造CString对象,
消耗还有挺大的,要排查代码,去除循环中频繁构造CString对象的情况。

3.ODBC访问access比ole db慢

2019/4/15 - 2019/4/16
1、修改了持久层频繁构造的CString(改成static或从循环体中去除,移至外层),使用SAM工程下的SITE STABILIZER测试,Retrive所有结点数据消耗7秒左右。
对时间并没有太大的改善。
2、SQL语句修改:将SELECT * 换成形如SELECT col1, col2, ...的语句,随着列减少,消耗有较明显提高,
测试数据:从293325条中选出16671条记录,25列平均消耗125ms, 12列94ms
3、将EnvId与ElementID合成一列存在数据库,有待测试;合并..or..or..语句,减少调用select语句数,有待测试。
 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/681640
推荐阅读
相关标签
  

闽ICP备14008679号