Foxtable(狐表)用户栏目专家坐堂 → [求助]大量数据筛选匹配解决方案


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

主题:[求助]大量数据筛选匹配解决方案

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


加好友 发短信
等级:幼狐 帖子:68 积分:615 威望:0 精华:0 注册:2019/6/2 6:57:00
[求助]大量数据筛选匹配解决方案  发帖心情 Post By:2022/3/1 22:14:00 [只看该作者]

我有两个数据表, 原始记录表  数据变更表
1、两个表来源两个不同的系统,没有唯一的对应项,只能通过组合查找,将“数据变更表”中每一行的数据,通过组合查找,找到原始记录表中的对应数据,有可能找不到,有可能找到多条;
2、原始记录表,数据量非常大,数据列有30多列;
3、我写的算法能够找到,但数据量容易导致死机;
我的思路和问题:
思路:采用for each i = 0 to tables(数据变更表).rows.count - 1 遍历“数据变更表”,在循环过程中,利用组合条件(如,合同编号+产品型号),设置“原始记录表”的Filter属性,再确定tables(“原始记录表”).rows.count能找到的行数,再对这些行进行分析;
问题:当“原始记录表“数据10万行,”数据变更表“数据3万行,系统崩溃

问:
1、当表数据量几十万行,采用采用哪种数据库合适(不联网),是内部数据库还是Access或是其他?
2、查找数据用filter属性还是find或是select,哪个占用资源少,速度更快
3、”原始数据表“中,有一些行其实不会被选到,是否可以用加载方式去掉,已经加载的数据,会不会由于filter属性的值的变化,而改变加载内容;我对数据库数据、datatable概念理解不够,比如数据库有100万条数据,datatable加载5000条,table变换filter条件时,只是从5000条中筛选?


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107864 积分:548683 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/1 22:42:00 [只看该作者]

1、如果只考虑可以使用,可以使用access,如果对性能有要求,建议使用SqlServer
2、filter属性还是find或是select根据实际情况使用,没有哪个占用资源少,速度更快,用到合适的地方就好
3、table变换filter条件时,只是从已加载的数据中,也就是5000条中筛选

数据多,建议直接使用sql查询:http://www.foxtable.com/webhelp/topics/0687.htm
查询结果不多的直接返回所有结果处理,如果查询结果比较多,可以考虑加上分页处理,比如:http://www.foxtable.com/webhelp/topics/2692.htm

 回到顶部