区分条目更新(业务逻辑对象)

时间:2010-09-01 14:42:56

标签: c# .net comparison differentiation

我面临的情况如下:

有大量“平面”文件,C#应用程序从中提取数据,以便创建条目,然后将这些条目写入数据库(MS SQL服务器)。数据库的完整版本包含220 GB的约9700万个条目。

任务是通过解析新的完整版本并找出已更新的现有条目来创建数据库中数据的差异更新。如果条目的任何属性已更改,则视为条目更新 [更新]每个条目都有一个唯一的ID。

问题是数据提供者没有提供任何条目修改的指示(版本号或最后修改日期) - 只有完整版本。

我到目前为止提出的解决方案是为每个条目生成一个哈希值,然后将新值与旧值进行比较。
问题的另一个方面是使得哈希值不合需要的是数据大小和条目数之间的组合 - 它只是惊人的。

那么,有没有比这更好的解决方案?

对此案例的任何帮助将不胜感激!

一切顺利, 鲍里斯拉夫

1 个答案:

答案 0 :(得分:0)

是否有可用于唯一标识记录的密钥?

如果没有,你只能找到相同的那些。然后,您需要删除新版本中不匹配的所有现有记录,并添加发布中与现有版本中的记录不匹配的所有记录。

拥有钥匙会让事情变得更容易。