首页 > 解决方案 > Linq Where 子句列序列性能

问题描述

我想知道如果 Linq 中有多个列,列顺序是否对性能很重要。

例子 :-

var listCalculation = ctx.Calculation.ToList();

var data = listCalculation.Where(m=>m.EmployeeId == item.employeeId && m.FieldName == item.FieldName).FirstOrDefault();
OR
var data = listCalculation.Where(m=> m.FieldName == item.FieldName && m.EmployeeId == item.employeeId).FirstOrDefault();

在第一个 linq 中,EmployeeId 是第一个,然后是 FieldName,在第二个 linq 中,FieldName 是第一个,然后是 EmployeeId。

假设list中有100万条记录,计算上面2个查询是否会有性能变化?我们应该如何保持 Where 子句中的列顺序以获得最佳性能?

标签: sqlsql-serverasp.net-mvclinq

解决方案


推荐阅读