В настоящее время я выполняю миграцию данных и выполняю одну задачу - сопоставление первичных ключей из старой БД с новыми для каждой таблицы. Во всей миграции, вероятно, около 40 таблиц, и, поскольку я перемещаю только некоторые данные, я хочу предотвратить создание дублирующих новых записей в новой БД.
Поэтому я хочу хранить несколько наборов пар целых чисел (oldPK и newPK). Каждая коллекция представляет таблицу, а каждая пара представляет строку, через которую я уже перенесен. Я часто собираюсь искать на oldPK, чтобы узнать, перенес ли я уже определенную строку в таблице.
Я не уверен относительно того, сколько пар целых чисел у меня может быть, хотя я уверен, что оно не будет превышать количество строк в таблице старой БД, которое обычно составляет от 100 до примерно 5000. (Я мог бы развлекать идея разных коллекций, имеющих разные структуры данных)
Кроме того, я не буду заполнять список сразу, вероятно, это произойдет по одной целой паре за раз, обычно, когда я записываю эту запись в новую БД.
Я пытался использовать List - T, являющийся классом с целыми числами A и B, но, похоже, он замедляется, поскольку коллекция становится очень большой.
Есть ли лучшая структура данных, которую я мог бы использовать для этого сценария?
ЗАКЛЮЧЕНИЕ
хорошо, поэтому я только что провел тест со всеми различными типами данных (например, хэш-набор, список, словарь, SortedDict, SortedSet, SortedList, Hashtables).
Hashtable вышел из рук быстрее всех. Мы говорим о вычислениях, которые занимают другие структуры данных 5-10 секунд, это займет меньше 0,1 секунды!