绑定大数据gridview时的性能问题



问题:我正试图从数据库中获取大量条目,并将其绑定到使我的网站性能非常低的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();

协助吗?

如果有更多的细节,请询问....谢谢你

对于另一个答案的观点,执行[query]. skip (x). take (y)工作得很好,但是检查当您进行skip和take调用时,您调用的是iquerable版本而不是IEnumerable版本。

如果你调用iquerable版本,那么它会被合并到查询中。IEnumerable将执行查询,然后在内存中运行分页,您将失去所有性能收益。

试着读一遍

最新更新