将csv中的记录与大列表进行比较

本文关键字:列表 比较 csv 记录 | 更新日期: 2023-09-27 18:00:08

在我的网站中,用户上传了一个csv文件。

我正在使用此库读取csv文件http://www.codeproject.com/Articles/11698/A-Portable-and-Efficient-Generic-Parser-for-Flat-Fcsv文件将有大约4000条记录(每条记录有5列)。

我正在将每个记录读取到列表中,并在一个大的对象列表中搜索(在开始读取csv文件之前,我正在将一个大列表的对象从服务读取到缓存。)以检查此记录是否已经存在。

通过这种方式,我必须进行4000次迭代,在每次迭代中,我必须在对象的大列表中搜索(缓存中大约有10万条记录)。

这是一个好的实施方式吗?有什么方法可以提高速度吗?将这么大的列表存储在缓存中是个好主意吗?

我的环境是VS2010、.NET4.0、

将csv中的记录与大列表进行比较

您可以通过为列表使用适当的数据结构来加快搜索速度。如果项目具有唯一/主键,则可以使用哈希映射,这将比为每个项目迭代整个列表更有效。这样你就可以使用hashmap.contanskey().

如果您运行该服务,您可以将责任推到该服务上——也许可以将唯一密钥列表推到那里进行比较。

也许你可以发布一些代码来获得更具体的答案。