当数据库请求较大时如何优化页面加载时间(C# ASP.NET Core 6 MVC)

问题描述 投票:0回答:2

我正在做一个大项目。项目数据库包含大量要在页面上显示的数据。当我要访问一个页面时,可能需要长达 15 秒才能完全加载,这太慢了。

我使用的是 C# .NET 6,它是一个使用 SQL Server 的 ASP.NET Core 6 MVC 项目。

我尝试过滤Linq请求以按页导入更少的数据;我尝试用 HTML 表格进行分页以同时显示较少的数据,但仍然很慢。

这是我们正在执行的请求的示例:

public IActionResult Index(int id)
{
    var factures = _context.Factures
                           .AsNoTracking()
                           .Include(x => x.Chantiers)
                           .Where(x => Convert.ToInt32(x.Annee) > 2020)
                           .Select(x => new FacturesViewModel()
                                            {
                                                // DATA HERE
                                            })
                           .ToList();

    return View(factures);
}

有人知道如何提高页面加载速度吗?

c# sql-server asp.net-core-mvc loading
2个回答
0
投票

经过一个小时的工作,我找到了解决方案

我使用数据表(https://datatables.net/)进行分页(每次只显示10个项目),现在页面加载速度更快了。

ID 参数还将用于在列表中订购发票。


0
投票

使用存储过程并在表上创建适当的索引。如果数据太大,可以考虑创建表分区。

如果您使用 Entity Framework Core,[Index] 属性允许开发人员直接在实体类上定义索引。

© www.soinside.com 2019 - 2024. All rights reserved.