C# 优化将大型数据集加载到asp.net mvc 4中的表

C# 优化将大型数据集加载到asp.net mvc 4中的表,c#,jquery,asp.net-mvc,linq,asp.net-mvc-4,C#,Jquery,Asp.net Mvc,Linq,Asp.net Mvc 4,我正在创建asp.NETMVC4应用程序,在该应用程序中,我将许多行加载到一个表中 但是,对于较小且平均的数据集,此函数工作平稳,这意味着如果行数小于1000或小于5000,则使用平均时间加载 这是那张桌子的视图 但当行数增加到5000行以上时,将这些行加载到表中会花费太多时间 这里是用于将值加载到表中的LINQ查询 public ActionResult StudentIndex() { return View(db._student.Where(x => x.Create_B

我正在创建asp.NETMVC4应用程序,在该应用程序中,我将许多行加载到一个表中

但是,对于较小且平均的数据集,此函数工作平稳,这意味着如果行数小于1000或小于5000,则使用平均时间加载

这是那张桌子的视图

但当行数增加到5000行以上时,将这些行加载到表中会花费太多时间

这里是用于将值加载到表中的LINQ查询

public ActionResult StudentIndex()
{
    return View(db._student.Where(x => x.Create_By == userid).OrderByDescending(s => s.Create_Date).ToList());

}
在这里,一旦它将值加载到表中,使用Jquery table sorter函数执行分页功能,我就忽略了排序

这是jquery脚本代码片段

<script type="text/javascript">
    $(function () {
        $("#table-hover")
            .tablesorter({
                widthFixed: true
            })
            .tablesorterPager({
                container: $("#pager"),
                size: $(".pagesize option:selected").val()
            });
    });

 </script>

$(函数(){
$(“桌面悬停”)
表排序器({
宽度固定:正确
})
.表排序器({
容器:$(“#寻呼机”),
大小:$(“.pagesize选项:选中”).val()
});
});

如何加快大型数据集的加载速度?我应该遵循什么方法?

我建议使用服务器端分页:

工作样本

不要试图一次加载这么多记录。有更好的插件(我很熟悉)支持服务器端分页。还有一个助手。据我所知,一旦它是fetch total number of rows tablesorter plugin,将这些结果除以10的一部分,然后再除以它的当前值,这就是为什么要为大型数据集加载太多时间的原因。简言之,您试图获取太多的数据。在服务器上实现分页是长期解决此问题的唯一方法。EntityFramework有Skip()和Take()方法,您可以使用它们来提取记录块,而不是整个表。如果我使用EntityFramework Skip()或Take()方法,我是否能够提取10乘10的记录块?您可以同时使用它们,因为它们映射到(大致)等效的SQL命令。Skip()将光标移动到相关行,然后Take()选择指定数量的行;它基本上是TOP或LIMIT和OFFSET子句,具体取决于所使用的底层SQL系统。