如何在.net中获得2个大集之间的差异

时间:2011-01-19 11:03:39

标签: c# .net ado.net lucene.net

我需要获取远程数据库中的一组GUID,这些GUID在IEnumerable中不存在(对于上下文,这来自Lucene索引)。这些Guids可能有数百万。

我目前认为将IEnumerable插入到数据库并且做差异会太昂贵(插入会破坏数据库),但我准备被证明是错误的!

由于数据量的原因,将这两个集合读入内存也是不可行的 - 我们现有的解决方案会这样做,并且会因为非常大的集合而失败。

我想要一个可以一次操作一小部分数据的解决方案,这样我们就有了恒定的内存占用。我们已经知道如何推出我们自己的实现,但这是非常重要的,所以如果它存在,显然宁可使用现有的。

如果有人对现有解决方案有任何建议,我将不胜感激听到他们!

1 个答案:

答案 0 :(得分:0)

您可以使用SqlBulkCopy将guids very fast加载到数据库(如果它是SQL-Server)。