Asp.net mvc 3 优化长时间linq表达式
我的mv3实体项目中有这个linq表达式Asp.net mvc 3 优化长时间linq表达式,asp.net-mvc-3,linq-to-entities,Asp.net Mvc 3,Linq To Entities,我的mv3实体项目中有这个linq表达式 SubCatNews = (from c in context.NewsInSubCats where (c.SubCat.Visible == true && c.SubCatNews.Visible == true && c.SubCatNews.StatusID == 1 && c.SubCatNews.New
SubCatNews = (from c in context.NewsInSubCats
where
(c.SubCat.Visible == true &&
c.SubCatNews.Visible == true &&
c.SubCatNews.StatusID == 1 &&
c.SubCatNews.NewsTypeID != 5 &&
(c.SubCatID == catId || c.SubCat.ParentId == catId))
orderby c.SubCatNews.SubCatNewsID descending
select c.SubCatNews)
.Distinct()
.OrderByDescending(p => p.SubCatNewsID)
.Skip(pageIndex * pageSize)
.Take(pageSize);
我在SubCatNews表My News中有23000条记录
对于这些记录,请使用NewsInSubCats表将组关联到新闻
和组位于子类别表中
这是可行的,但从sql server获取过程的执行时间很长,并且在大多数情况下从sql server返回超时验证
我在一个带有2GB内存的虚拟专用服务器上托管了3个具有这种结构的站点
这是Linq表达式优化吗
或者我必须在sql server中使用索引
thanx我建议。在sql server上创建索引,编写存储过程,传递所有必需的参数,包括pageindex和pagesize,并在sql端进行筛选,只返回必需的数据 要创建存储过程,可以检查以下URL
为了完成这项工作,我也向我的服务器提供商请求一个cpu内核和更多内存。谢谢你的回复