我有一个LINQ,看起来像这样:很慢LINQ与在声明
var something = db.Calculations
.Where(x => x.CalculationDate.Date == justTheDate
&& x.CalculationID == externalObject.CalculationID
&& x.CalculationDate >= minDate
&& x.CalculationDate <= maxDate).GroupBy(x =>
(int)x.CalculationDate.TimeOfDay.TotalMinutes);
其中justTheDate
,minDate
,maxDate
(日期时间)和externalObject.CalculationID
(串)的范围内发现的所有变量。
当我列举它(使用类似something.Select(x=>x.Last()).ToList()
)大约需要15秒。有很多数据,但并不接近预期的产量。
无论如何让这个查询更快?
谈到EF,LINQ不是一个问题 - 它只是一个枚举语法。问题是数据库。你有多少条记录?考虑将索引应用于表格。 –
对其运行'.ToString()'来查看它生成的查询。您可能可以将其编入索引。 –
听起来像数据库上的索引问题。 – prospector