Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Data structures 此场景中使用的最佳数据结构是什么?_Data Structures_.net 4.0_C# 4.0 - Fatal编程技术网

Data structures 此场景中使用的最佳数据结构是什么?

Data structures 此场景中使用的最佳数据结构是什么?,data-structures,.net-4.0,c#-4.0,Data Structures,.net 4.0,C# 4.0,目前我正在进行数据迁移,我正在做的一项任务是为每个表将旧数据库中的主键与新数据库中的主键进行匹配。在整个迁移过程中可能有大约40个表,由于我只在其中移动部分数据,所以我希望防止在新的数据库中创建重复的新记录 所以我想存储多个整数对集合(oldPK和newPK)。每个集合表示一个表,每对表示我已经迁移过的一行。我经常在oldPK上搜索,以查看是否已经迁移了表中的特定行 我不确定我可能有多少对整数,尽管我确信它不会超过旧DB表中的行数,通常是从100到5000。(我认为不同的集合具有不同的数据结构)

目前我正在进行数据迁移,我正在做的一项任务是为每个表将旧数据库中的主键与新数据库中的主键进行匹配。在整个迁移过程中可能有大约40个表,由于我只在其中移动部分数据,所以我希望防止在新的数据库中创建重复的新记录

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

我不确定我可能有多少对整数,尽管我确信它不会超过旧DB表中的行数,通常是从100到5000。(我认为不同的集合具有不同的数据结构)

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

我曾经尝试过使用List-T作为一个包含整数a和B的类,但是随着集合变得越来越大,它的速度似乎变慢了

是否有更好的数据结构可用于此场景

结论

好的,我只是用所有不同的数据类型(例如hashset、list、dictionary、sortedct、SortedSet、SortedList、Hashtables)做了一个测试

Hashtable以最快的速度发布。我们所说的计算花费了其他数据结构5-10秒,这将花费更少的0.1秒

使用。这有一个非常快速的查找功能,可以查看某个特定的键(例如您的旧ID)是否在其中。即使你有数以百万计的行,它也不会明显慢下来