sql - 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 子句中的列顺序以获得最佳性能?
解决方案
推荐阅读
- excel - Power Query: Include all unique columns found in files from folder
- tampermonkey - 如何使 Tampermonkey 用户脚本替换文本文件中的单词?
- rest - Microsoft Graph API Planner Task Detail with hyperlinks
- python - 如何使用用于为模块范围固定装置播种的相同代码正确地对函数进行 pytest
- c# - 如何使用 LINQ 中的键对值从单个字段中获取重复数据?
- spring - FluentD 无法在 Elasticsearch 中写入日志
- python - PyPy 性能急剧下降
- azure-cognitive-search - 针对相同数据集上的相同搜索请求返回的不同结果集
- asp.net-core - RouteTemplate 配置中 {documentname} 的用途是什么?
- python - 使用python docx居中文本