问题:我试图从数据库中获取大量的条目,并将其绑定到使网站性能非常低的gridview。 我用过的东西:我已经索引了搜索时主要涉及的参数。此外,我正在stroing数据库返回会话中的查询,并在分页时使用它,而不是再次击中数据库。性能问题,同时绑定gridview与巨大的数据
我想要什么?有什么办法可以从数据库中检索网格页面大小的条目。我的网页大小为10.因此,10个条目将大大提高网站的性能。由于数据网格中有许多字段并且需要时间来获取它们。那么有没有这样的解决方案?对于查询
代码:
R1.DBLinqRDataContext objDB = new R1.DBLinqRDataContext();
return (from p in (from a in objDB.table1
orderby a.date descending
join i in objDB.table2
on a.ID equals i.ID
where ((SqlMethods.Like(a.Location, "%" + loc + "%")) && (Category != String.Empty ? (Category == "1" ? a.Func < 50 : a.Func > 50) : (SqlMethods.Like(a.loc, "%" + loc + "%"))))
select a) join r3 in objDB.table3 on p.ID equals r3.CompanyID select p).Distinct().ToList();
任何帮助?
如有更多详情请咨询....谢谢
请查看[SQL Paging](http://www.15seconds.com/issue/070628.htm)上的这篇文章。我已经做了类似的存储过程中,但你应该能够定制它linq – Prescott 2011-04-13 07:43:53
谢谢普雷斯科特... 我已经编辑我的查询以这种方式 不同我添加以下代码后: .Skip((pageIndex )* PageSize).Take(PageSize).ToList() 但我的桌面列表也不见了,我只看到10个条目,无法浏览 – abhijit 2011-04-13 08:10:36
啊是的 - [通过委托分页改善SQL Server的性能](http:///www.nerdymusings.com/LPMArticle.asp?ID=23)向你展示了如何为sql存储过程做到这一点,如果你只是适应你的linq代码,它会做你所需要的。这是一个更多的参与,但它会给你一个很好的框架,你需要做分页 – Prescott 2011-04-13 14:02:02