用于此方案的最佳数据结构是什么?

时间:2011-03-17 11:40:47

标签: data-structures .net-4.0 c#-4.0

我正在进行数据迁移,我正在做的一项任务是将旧数据库中的主键与每个表的新主键匹配。整个迁移过程中可能有大约40个表,因为我只是移动了一些数据,所以我想阻止在新数据库中创建重复的新记录。

所以我想存储多个整数对的集合(oldPK和newPK)。每个集合代表一个表,每对代表一个我已经迁移过的行。我经常会在oldPK上搜索,看看我是否已经迁移了表中的特定行。

我不确定我可能拥有多少对整数,但我确信它不会超过旧DB表中的行数,通常为100到5000左右。(我可以娱乐不同集合具有不同数据结构的想法)

另外,我不会一次填充列表,一次可能会出现一对整数,通常是在我将该记录写入新数据库时。

我尝试过使用List - T是一个具有整数A和B的类,但是随着集合变得非常大,它似乎变慢了。

我可以在这种情况下使用更好的数据结构吗?

结论

好吧所以我只是对所有不同的数据类型进行了测试(例如hashset,list,dictionary,SortedDict,SortedSet,SortedList,Hashtables)。

Hashtable以最快的速度出手。我们正在谈论计算,其他数据结构需要5-10秒,这需要花费0.1秒!

1 个答案:

答案 0 :(得分:1)

使用hashtable。这可以非常快速地查找特定键 - 例如您的旧ID - 是否在其中。即使你有很多行,它也不会明显减慢。