基于文件的哈希数据结构

时间:2013-10-01 12:13:38

标签: c# .net

我要求将每条记录的“关键字”(约1米记录)与数据库中70米以上的记录进行比较。

我真的不想一次又一次地击中数据库进行比较。

当我尝试将所有密钥(只是密钥)从DB加载到内存(hashTable)时,我在程序的其他部分随机出现内存异常(如我所料)。

有没有基于文件的哈希表实现而不是内存?

1 个答案:

答案 0 :(得分:3)

在数据库中创建一个临时表,并将所有1m密钥写入其中。然后,使用查询将临时表中的键与目标表中的键进行比较 - 由于SQL引擎非常擅长加入,因此速度相对较快。由于您只需要1m键的结果,查询将返回1m行(而不是70m),您也可以传输该结果(因为它已包含匹配项)。