好了,故事是这样的:当检测数据已经改变
- 我有大量的文件(相当大,各地25GB)是在一个特定的格式,需要在数据存储需要进口
- 这些文件连续数据,有时新的,有时同样的数据
更新 - 我试图找出我如何可以检测,如果事情在改变特定线路的算法文件,以便最小化更新数据库的时间。
- 它现在的工作方式是每次丢弃数据库中的所有数据,然后重新导入它,但由于我需要时间戳来记录项目发生更改,因此这种方法不再适用。
- 文件包含字符串和数字(标题,订单,价格等)
我能想到的唯一的解决方案是:
- 从数据库中的每一行计算哈希,它与文件中该行的散列进行比较,如果它们不同,则更新数据库
- 保留2个文件副本,前一个和当前文件,并对其进行差异化(这可能比更新数据库更快)并基于那些更新数据库。
由于数据量非常巨大,所以我现在有些选择了。从长远来看,我将摆脱文件和数据将直接推入数据库,但问题仍然存在。
任何意见,将不胜感激。
如果您要求计算整个文件的散列值,而不是整个数据库的散列值,这对我无能为力。但是如果你打算在数据库中存储每行的散列,是的,这是我想到的解决方案之一。我只是想知道这是否比通过比较元素和元素来判断数据是否已经改变更快。 – hyperboreean 2010-07-19 07:37:04
+1用于暗示存储上次修改日期和时间 – 2010-07-19 07:47:22
我没有该文件中的任何时间戳。 – hyperboreean 2010-07-19 07:55:17