我正在做一个大项目。项目数据库包含大量要在页面上显示的数据。当我要访问一个页面时,可能需要长达 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);
}
有人知道如何提高页面加载速度吗?
使用存储过程并在表上创建适当的索引。如果数据太大,可以考虑创建表分区。
如果您使用 Entity Framework Core,[Index] 属性允许开发人员直接在实体类上定义索引。