大文件比较,比较难办

大文件比较,比较难办

请问:有两个从数据库load出来的文件,大约100M,几十万的数据,现在要比较这两个文件里的记录是否一一相等。并得出差异文件。
如:
A
1|2|3|4|5|6
1|2|3|4|4|4
1|1|1|5|5|5

B
1|2|3|4|5|6
1|2|3|4|4|5
1|1|1|5|5|5

比较条件在配置文件里:
C
1|2|3
1|1|1

比较时候先根据C中KEY,确定A B的记录,然后再用A B互相比较。每个项相等就表示A B的记录相等。
如:
1’    C中1|2|3 得出A中符合记录是:
1|2|3|4|5|6
1|2|3|4|4|4
2‘    C中1|2|3 得出B中符合记录是:
1|2|3|4|5|6
1|2|3|4|4|5
3’    然后在A B中符合C的KEY的项目比较,得出
相等项目是:
1|2|3|4|5|6
A有,B没有是:
1|2|3|4|4|4
A无,B有的是:
1|2|3|4|4|5


这两个文件比较大,有什么方法能比较快的吗?
请各位大大指点,哪怕是思路指点也行。谢谢大伙拉。
100M不算很大
先根据C,分别从A,B里提出满足条件的列,按照自然排序分别存为A.sort ,B.sort, 然后
system("diff A.sort B.sort > result.txt");
争对result.txt,看看规律,然后提出来.(此法只适用于linux)


QUOTE:
原帖由 smonkey0 于 2008-4-14 16:05 发表
先根据C,分别从A,B里提出满足条件的列,按照自然排序分别存为A.sort ,B.sort, 然后
system("diff A.sort B.sort > result.txt");
争对result.txt,看看规律,然后提出来.(此法只适用于linux)

谢谢。差点忘记diff了