Linq对同一个表的查询次数

时间:2017-02-03 09:44:40

标签: asp.net-mvc performance linq linq-to-sql

最近我和林克一起头疼。 我有一个大表(超过100个字段,测试用途超过40000行),我们称之为产品。

对Products表有大约60个查询 - 我必须在Grid上显示 - 查询是IQueryable对象,我对每个查询都是Count()。

每个查询大约需要100毫秒(所有查询大约需要7秒),因此需要花费大量时间向用户显示结果。 我应该使用StoredProcedure,还是有其他解决方案来解决这个问题?

祝你好运

编辑: 我的一个疑问: var result =(from this.Context.Products中的f               其中f.Period == currPeriod&& (f.TYPE == 1 || f.TYPE == 2)&& f.FLAGA> 0&& f.DATE_OK!= null&& UsersList.Contains(f.UsersId)               选择新的ProductLista               {});

在select new ProductList中,我从Products表中取10个字段。 另外我知道Contains给了我很大的问题性能

1 个答案:

答案 0 :(得分:0)

在你的场景中,最好转向Sp,它会更高效,你也可以尝试只使用Count In LINQ Except Select。