我正在处理 +100000 行并实现并行。这可以加快处理速度。
逻辑行为是:100000 条记录,其中有 85000 个 groupId,这意味着 MyItems 应该包含 85000 条记录。
事实并非如此...我最终得到的金额与 85000 不同
过程如下:
从数据库中获取所有值
获取整数数组中的所有 ID(不是行 ID,而是 groupId)
处理 groupId 的
var myItems = new List<MyItem>(IDCounter.Length);
Parallel.For(0, IDCounter.Length, (i, loopState) =>
{
if(!SomeParameter)
loopState.Stop();
var records = (from m in AllValues where m.GroupId == IDCounter[i] select m).ToList();
var recordList = new List<MyRecords>();
for(var j = 0; j<records.Count; j++)
{
recordList.Add(new MyRecord{Text = records[j].OtherValue});
}
myItems.Add(new MyItem(Text = records[0].SomeValue, List = recordList));
});
有什么想法吗?