DAO/链接表/ADO/ADP
实验报告 --DAO与ADO效率之比较
2018-08-06 17:48:50

实验环境:

  电脑配置:至强2.4G处理器,256M内存,1万转硬盘

  操作系统: 简体中文2003企业版

  Access版本:简体中文access 2000

  测试用数据库:504兆,有两张表,一张表记录数150万条,一张表8万条.

Select count(*) 测试:

   操作记录数150万. DAO平均用时162.4毫秒,ADO平均用时125.5毫秒

打开记录集,并移动当前记录至最末一条记录.

   操作记录数8万. ADO (使用adOpenKeyset参数)平均用时15.3毫秒.DAO平均用时18.7毫秒

更新(Update)测试

   操作记录数8万.ADO平均用时2689.8毫秒,DAO平均用时2683.8毫秒.

新增(Insert)测试  

   操作记录数8万.ADO平均用时1432.3毫秒,DAO平均用时2221毫秒.

以上每一项测试都运行过4次以上,计算平均用时的时候均去掉最高值.

结论:统计运行,ADO的效率比DAO高29%, 记录集操作ADO效率比DAO高20%, 更新操作两者基本一致,新增操作ADO的效率要比DAO高出50%。 可见ADO的效率要比DAO高出许多,不过有一点需要特别注意使用ADO打开记录集的时候,游标类型的选择对于效率的影响非常大。测试中发现,使用adOpenDynamic要比adOpenKeyset慢十倍!

(算法函数_API_系统-相关文章技巧链接):Access如何通过宏或函数判断数据表为0记录。