提高此代码性能的最佳方法是什么



我需要在C#中使用分页从多个相关表中获取数据。

由于我需要获取相关数据,因此使用多个include语句会降低以下代码的性能。我在这里能做的最好的优化是什么?

请注意,我有一个类型为uniqueidentifier的主键列。

var data = await dbcontext.CandidateForm
.Include(candidate => candidate.PersonalDetail)
.Include(candidate => candidate.AcademicQualifications)
.Include(candidate => candidate.TeachingExperiences)
.Include(candidate => candidate.CandidateHigherQualification)
.Where(x => x.PostCategory == PostName)
.OrderByDescending(x => x.CreatedDate)
.Skip((filter.PageNumber - 1) * filter.PageSize)
.Take(filter.PageSize)
.ToListAsync();

首先进行查询,查找PostCategoryId,然后查找

.Where(x => x.PostCategoryId == PostId)

基于整数的搜索比字符串更快接下来,如果您可以选择需要的特定列

.ToListAsync();

单独选择表中的所有列,与一个或多个列相比,这些列比较重。接下来,你可以从表中准确地选择你想要的,而不是包含它

相关内容

  • 没有找到相关文章

最新更新