我有大量记录,大约四百万条,我想重复地处理这些记录并将信息放入与该记录链接的类中。我不确定应该使用什么类型的数据结构?应该使用向量,映射还是哈希映射?我不需要插入记录,但我需要读取包含这些记录编号(或名称)集合的表,然后获取一些与该记录相关联的数据并对其进行某些处理。对于此示例,查找地图是否足够快,以免选择哈希映射?记录具有类作为其结构,以前我没有使用过具有类作为其值的映射或哈希映射(如果可能)。提前感谢大家。
编辑:
目前我不需要同时将所有记录保存在内存中>我需要先给它一个结构,然后从某些记录中获取数据。总记录数约为2000万,我想读取每个原始记录,然后如果其基本信息不存在于要创建和放入其中的新映射或向量中,则将其余数据作为向量放入其中。因为我有2000万条记录,所以对于每条记录都要遍历400万条记录来查找是否存在该记录的基本信息就会非常痛苦。我大约有400万种类型的软件包,每个软件包可以有多种类型的服务(大约每个软件包5(20/4)种)。我想读取每个记录,然后如果包ID不存在于向量或我想使用的任何其他位置,并将基本信息推入向量中,然后将与该包相关的服务保存在包类内部的向量中。
编辑:
目前我不需要同时将所有记录保存在内存中>我需要先给它一个结构,然后从某些记录中获取数据。总记录数约为2000万,我想读取每个原始记录,然后如果其基本信息不存在于要创建和放入其中的新映射或向量中,则将其余数据作为向量放入其中。因为我有2000万条记录,所以对于每条记录都要遍历400万条记录来查找是否存在该记录的基本信息就会非常痛苦。我大约有400万种类型的软件包,每个软件包可以有多种类型的服务(大约每个软件包5(20/4)种)。我想读取每个记录,然后如果包ID不存在于向量或我想使用的任何其他位置,并将基本信息推入向量中,然后将与该包相关的服务保存在包类内部的向量中。
unordered_map
。 - Preet Kukreti