我有两个数据表, 原始记录表 数据变更表
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条中筛选?