以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  用什么方法查询后台数据效率高?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=146534)

--  作者:gudao123456
--  发布时间:2020/2/25 22:21:00
--  用什么方法查询后台数据效率高?
 有时为了查找当前数据表里记录与后台数据是否存在,用下列代码效率不是很高:

Dim dr  As DataRow

For Each r As DataRow In DataTables("A表").DataRows

    dr=DataTables("B").sqlfind("[X]=\'" & r("Y") & "\'")

    If dr Is Nothing

        r("是否已导入")=False

    End If

Next

测试了一下,A表有2.9w条记录,表B有2.9w条记录,查找的时间需要594.4秒,约10分钟,如果其中一个表又10W条记录,那耗时就更长了,不知有什么办法可以提高速度,谢谢!


[此贴子已经被作者于2020/2/25 22:29:19编辑过]

--  作者:有点蓝
--  发布时间:2020/2/25 22:32:00
--  
使用sql
up
date A表 set 是否已导入=false where Y not in (select X from B表)
--  作者:gudao123456
--  发布时间:2020/2/25 22:39:00
--  
 谢谢!