0

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

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

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

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

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

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

4

1 回答 1

0

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

如果您运行该服务,则可以将责任推给该服务-也许将唯一键列表推到那里进行比较。

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

于 2013-02-19T07:16:18.163 回答