【发布时间】:2019-12-20 21:55:08
【问题描述】:
我在计划表中有一个包含 40,000 行的列表,其值基于五个关键列。表是这样的——
Date Location Schedule Id Type Lane Value
1/1/2019 Paris Sched - 1 Rural <null> 34.94
1/1/2019 Paris Sched - 1 Rural <null> 35.41
1/1/2019 Paris Sched - 1 Rural 101 39.45
1/1/2019 Paris Sched - 1 Urban 101 94.23
1/1/2019 Paris Sched - 1 <null> 101 24.87
1/1/2019 Paris Sched - 1 <null> <null> 33.38
我需要处理数百万条记录,以根据每条记录中的键查找值。一条记录可能包含键的任意组合,其中前三个键是强制性的,但接下来的两个键可能有也可能没有值。对于这五个键的组合,Schedule 表具有唯一的行
我正在寻找有关用于存储计划表的正确数据结构的建议。我想过使用列表,但据我了解,列表不如字典高效,但字典只能用一个键定义。
如果有人可以提出更好的方法来实施此解决方案,请不胜感激。
--- Edit --
一个小的修正。通过“但接下来的两个键可能有也可能没有值”。我的意思是,它们可能有空值,但前 5 个键的组合仍然是唯一的。
【问题讨论】:
-
字典只能有一个键,但这并不意味着键本身不能是包含您需要的许多不同属性的类型...
-
使用字典
, decimal> -
为什么不将此委托给具有适当索引的 SQL 数据库?
-
"processing million of records"-- 使用 SQL -
您声明 Schedule 表具有这五个键组合的唯一行,但示例数据集中的前两行具有相同的键。那么,您的数据中是否存在重复项?
标签: c# dictionary data-structures lookup