以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 大数据比对如何提高速度 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=119188) |
|
-- 作者:zhouhai39 -- 发布时间:2018/5/19 14:32:00 -- 大数据比对如何提高速度 我用foxtable,进行数表A中的所有数据在数表B中查找,用QSLFind查找,如果数表A中的数据在B中找到,就在A查找到,在B中进行标记,因为A表有数据约4万,数表B中有40多万,结果foxtable运行很久都没结果,估计是卡死了。怎么办?有何办法可以提高比对速度?请教各位大师,谢谢! |
|
-- 作者:有点蓝 -- 发布时间:2018/5/19 14:57:00 -- 增加一个标记列,然后直接使用sql操作 update 表A set 标记列=1 from 表A where exist (select 编号 from in 表B where 表B.编号 = 表A .编号)
|
|
-- 作者:zhouhai39 -- 发布时间:2018/5/19 17:35:00 -- 谢谢!更正一下,我是用表A的数据中在表B中查找,如果查得到,就在表A中做个标记。请问也是一样的代码吗?我在执行SQL中,输入了上述的代码,提示“操作符缺少”,这是怎回事?我是初次接触这些东西,基本不懂。 |
|
-- 作者:有点蓝 -- 发布时间:2018/5/19 17:45:00 -- 就是2楼的用法,不会就做个例子发上来。 或者自己研究一下sql:http://www.foxtable.com/webhelp/scr/0687.htm
|
|
-- 作者:zhouhai39 -- 发布时间:2018/5/19 17:55:00 -- 补充一下,我把表B设置成外部数据源,执行后说找不到,数表B |
|
-- 作者:zhouhai39 -- 发布时间:2018/5/19 18:02:00 -- 数表A是内部数据源,数表B是外部数据源,想用表A的数据与表B的数据进行比对,看看表A中有哪些数据在表B中,因数表A用4万多行,数表B有40多万行数据,原来用SQlfind进行查找,无法执行下去。根据2楼师傅的指点, |
|
-- 作者:zhouhai39 -- 发布时间:2018/5/20 17:52:00 -- 执行以下语句:
[此贴子已经被作者于2018/5/20 17:53:24编辑过]
|
|
-- 作者:有点甜 -- 发布时间:2018/5/20 20:42:00 -- 只有AB表在同一个数据源下(或者在同一个数据库服务器上)才能写sql语句查询的。
一个内部、一个外部,是不能写sql语句查询的。
建议把你的表A另存为外部数据源,再比较。不然,就只能find、sqlfind比较。 |
|
-- 作者:zhouhai39 -- 发布时间:2018/6/3 0:08:00 -- 谢谢! |