Foxtable(狐表)用户栏目专家坐堂 → 大数据比对如何提高速度


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

主题:大数据比对如何提高速度

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


加好友 发短信
等级:幼狐 帖子:136 积分:1082 威望:0 精华:0 注册:2017/11/3 1:21:00
大数据比对如何提高速度  发帖心情 Post By:2018/5/19 14:32:00 [只看该作者]

我用foxtable,进行数表A中的所有数据在数表B中查找,用QSLFind查找,如果数表A中的数据在B中找到,就在A查找到,在B中进行标记,因为A表有数据约4万,数表B中有40多万,结果foxtable运行很久都没结果,估计是卡死了。怎么办?有何办法可以提高比对速度?请教各位大师,谢谢!

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


加好友 发短信
等级:超级版主 帖子:110597 积分:562881 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/5/19 14:57:00 [只看该作者]

增加一个标记列,然后直接使用sql操作

update 表A set 标记列=1 from 表A where exist (select 编号 from in 表B where 表B.编号 = 表A .编号)

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


加好友 发短信
等级:幼狐 帖子:136 积分:1082 威望:0 精华:0 注册:2017/11/3 1:21:00
  发帖心情 Post By:2018/5/19 17:35:00 [只看该作者]

谢谢!更正一下,我是用表A的数据中在表B中查找,如果查得到,就在表A中做个标记。请问也是一样的代码吗?我在执行SQL中,输入了上述的代码,提示“操作符缺少”,这是怎回事?我是初次接触这些东西,基本不懂。

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


加好友 发短信
等级:超级版主 帖子:110597 积分:562881 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/5/19 17:45:00 [只看该作者]

就是2楼的用法,不会就做个例子发上来。

或者自己研究一下sql:http://www.foxtable.com/webhelp/scr/0687.htm

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


加好友 发短信
等级:幼狐 帖子:136 积分:1082 威望:0 精华:0 注册:2017/11/3 1:21:00
  发帖心情 Post By:2018/5/19 17:55:00 [只看该作者]

补充一下,我把表B设置成外部数据源,执行后说找不到,数表B

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


加好友 发短信
等级:幼狐 帖子:136 积分:1082 威望:0 精华:0 注册:2017/11/3 1:21:00
  发帖心情 Post By:2018/5/19 18:02:00 [只看该作者]

数表A是内部数据源,数表B是外部数据源,想用表A的数据与表B的数据进行比对,看看表A中有哪些数据在表B中,因数表A用4万多行,数表B有40多万行数据,原来用SQlfind进行查找,无法执行下去。根据2楼师傅的指点,

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


加好友 发短信
等级:幼狐 帖子:136 积分:1082 威望:0 精华:0 注册:2017/11/3 1:21:00
  发帖心情 Post By:2018/5/20 17:52:00 [只看该作者]

执行以下语句:

update 表A set 标记列=1 from   {表A} where exist (select 证件号码    from in {表B}   where {表B}.证件号码 = {表A} .身份证号码)
提示:“未知编译错误”,
另外,我的表A为内部数据源,表B为外部数据源。如何处理?
谢谢!

[此贴子已经被作者于2018/5/20 17:53:24编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/20 20:42:00 [只看该作者]

只有AB表在同一个数据源下(或者在同一个数据库服务器上)才能写sql语句查询的。

 

一个内部、一个外部,是不能写sql语句查询的。

 

建议把你的表A另存为外部数据源,再比较。不然,就只能find、sqlfind比较。


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


加好友 发短信
等级:幼狐 帖子:136 积分:1082 威望:0 精华:0 注册:2017/11/3 1:21:00
  发帖心情 Post By:2018/6/3 0:08:00 [只看该作者]

谢谢!

 回到顶部