最近我和林克一起头疼。 我有一个大表(超过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给了我很大的问题性能
答案 0 :(得分:0)
在你的场景中,最好转向Sp,它会更高效,你也可以尝试只使用Count In LINQ Except Select。