2

我面临的情况如下:

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

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

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

到目前为止,我提出的解决方案是为每个条目生成一个哈希和,然后将新条目与旧条目进行比较。
使散列和不受欢迎的问题的另一个方面是数据大小和条目数之间的组合——这简直是惊人的。

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

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

一切顺利,鲍里斯拉夫

4

1 回答 1

0

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

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

不过,拥有一把钥匙会让事情变得容易得多。

于 2010-09-09T10:58:24.747 回答