Foxtable(狐表)用户栏目专家坐堂 → 用什么方法查询后台数据效率高?


  共有2011人关注过本帖树形打印复制链接

主题:用什么方法查询后台数据效率高?

帅哥哟,离线,有人找我吗?
gudao123456
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:855 积分:6402 威望:0 精华:0 注册:2017/11/21 21:31:00
用什么方法查询后台数据效率高?  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/25 22:32:00 [只看该作者]

使用sql
up
date A表 set 是否已导入=false where Y not in (select X from B表)

 回到顶部
帅哥哟,离线,有人找我吗?
gudao123456
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:855 积分:6402 威望:0 精华:0 注册:2017/11/21 21:31:00
  发帖心情 Post By:2020/2/25 22:39:00 [只看该作者]

 谢谢!

 回到顶部