我有两个在内存中的戏剧和消费者之一有15密耳的对象和另一个约3密尔。大列表上的plinq需要很长的时间
以下几个疑问我正在射击的..
consumersn=consumers.AsParallel()
.Where(w => plays.Any(x => x.consumerid == w.consumerid))
.ToList();
List<string> consumerids = plays.AsParallel()
.Where(w => w.playyear == group_period.year
&& w.playmonth == group_period.month
&& w.sixteentile == group_period.group)
.Select(c => c.consumerid)
.ToList();
int groupcount = plays.AsParallel()
.Where(w => w.playyear == period.playyear
&& w.playmonth == period.playmonth
&& w.sixteentile == group
&& consumerids.Any(x => x == w.consumerid))
.Count();
我使用16芯机,32 GB的RAM,这inspite ..第一个查询花了大约20小时运行..
我做错了什么..
所有的帮助是真诚的赞赏。
感谢
分析器是你的朋友在这里。但是看起来你在这里第一次查询时正在做15M * 3M的操作。 –