我们查询了大约 40 个与客户相关的数据字段。查询通常会返回大量记录,例如多达 20,000 条。我们只想使用前 500 个结果。然后,我们只希望能够一次翻阅 10 个。
LINQ 是否跳过并为此采取合理的方法?使用这种方法与以其他方式手动操作相比,是否存在任何潜在的性能问题?
我们查询了大约 40 个与客户相关的数据字段。查询通常会返回大量记录,例如多达 20,000 条。我们只想使用前 500 个结果。然后,我们只希望能够一次翻阅 10 个。
LINQ 是否跳过并为此采取合理的方法?使用这种方法与以其他方式手动操作相比,是否存在任何潜在的性能问题?
是的,如果您使用的是 SQL Server 2005+,它将生成使用该ROW_NUMBER()
函数来提高分页效率的 SQL(与Scott 在此博客文章中使用的 SQL 不同)。