Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-查询/SQL语句

[access查询]ADO与更新查询执行效率对比测试

时 间:2010-01-19 14:25:02
作 者:竹笛   ID:8  城市:上海  QQ:2851379730点击这里给张志发消息
摘 要:约100万条记录中,将一个字段的值更新为1,采用不同的方案测试对比。
正 文:

前提:mdb链接 sql server2000数据库
目的:约100万条记录中,将一个字段的值更新为1

测试方案一:
采用更新查询 ,耗去23分13秒

Sub test()
   Debug.Print "runsql开始时间:" & Now
   DoCmd.OpenQuery "查询6"
   Debug.Print "runsql结束时间:" & Now
   MsgBox "已更新结束"
End Sub

 

测试方案二:
采用ADO方式更新,耗去14分钟48秒。用ADO代码打开sql server表去更新值,不是打开链接表。

结论:ADO方式比更新查询效率更高,速度更快。


Sub testa()
    Dim rst1 As ADODB.Recordset
    Dim strSQL As String
    Debug.Print "ADO开始时间:" & Now
    strConn = "ADO连接字符串"
    Set rst1 = New ADODB.Recordset
    strSQL = "select tbl表名称.cxID from ttbl表名称"
    rst1.Open strSQL, strConn, adOpenKeyset, adLockOptimistic
    DoCmd.SetWarnings False
    rst1.MoveFirst
    Do Until rst1.EOF
        rst1("cxID") = 1
        rst1.Update
        rst1.MoveNext
    Loop
    Debug.Print "ADO结束时间:" & Now
    rst1.Close
    Set rst1 = Nothing
    MsgBox "已更新结束"
End Sub



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助