【发布时间】:2020-10-08 16:47:57
【问题描述】:
我正在从数据库中加载大约 400 万条记录并一次处理一行。为此,我正在遍历数据集的每个数据行,这会导致效率问题。
我怎样才能加快速度?我尝试使用 Parallel.Foreach 循环。但是,由于我正在处理不是线程安全的数据行,因此在我写入数据行的位置周围实施锁定块会降低效率。逻辑大约有 3k 行长。所以每一行都运行了 3k 行。
有什么方法可以提高效率吗?我正在考虑使用 DataRows 列表而不是使用 DataRows 本身。如果我做出这样的改变,我是否能够使用 Parallel.Foreach 循环并期待更高的效率?
或者我应该为报告创建一个实体类并创建该实体类的列表?哪个会更快? System.DataRow 列表还是实体类列表?
我明白这是一个设计问题,但我对此无能为力。我会很感激任何帮助。谢谢。
【问题讨论】:
标签: c# winforms datatable dataset datarow