var ci = ctx.CI().Where(p => p.PId == pId);
var result = ctx.RM().Where(p => p.R.D.PId == Id && p.MTId == mt.Id).
Sum(p => (((p.M.TN * p.EC * p.F.PW * 52m) + (p.M.TN * p.EC * p.F.PY * (WW/52m)))
/100m) * ci.FirstOrDefault(q => q.PId == p.R.PId.Value && q.FPId == p.R.FPId.Value).Factor);
8000条记录。查询需要2000ms来加载,使用CI和RM加入。如何加快查询速度
正如你所看到的,有6个表使用。 CC,RM,R,D,F和M.
模型是使用CodeFirst定义的,所以我使用EF 4.1。
我如何加快我的查询运行速度超过2秒?
什么是生成的TSQL?您是否通过在SSMS中优化的基于计划的查询来运行已执行的TSQL?你可能会缺少索引。 – bzlm