哪个查询在实体框架和SQL Server下性能更好?

本文关键字:Server 性能 更好 SQL 查询 实体 框架 | 更新日期: 2023-09-27 18:05:22

这两个查询在性能上是相同的还是不同的?

var results = ctx.Products
    .Where(x => x.Category.Name == "something")
    .Select(x => new {
        ProductId = x.Id, 
        ProductName = x.name, 
        CategoryName = x.Category.Name 
    })
    .ToList();
var results = ctx.Products
    .Select(x => new {
        ProductId = x.Id, 
        ProductName = x.name, 
        CategoryName = x.Category.Name 
    })
    .Where(x => x.CategoryName == "something")  
    .ToList();

SQL Server在第二个查询中使用正确的索引吗?

哪个查询在实体框架和SQL Server下性能更好?

除了语法之外,它们在所有方面都是相同的。Entity Framework将只在迭代时解析结果集,并且您基本上应用了相同的一组过滤器,只是顺序不同。