我们查询了大约 40 个与客户相关的数据字段。查询通常会返回大量记录,例如多达 20,000 条。我们只想使用前 500 个结果。然后,我们只希望能够一次翻阅 10 个。
LINQ 是否会跳过并为此采取合理的方法?使用这种方法与以其他方式手动操作相比,是否存在任何潜在的性能问题?
最佳答案
Take()
不带 Skip()
使用 TOP
子句生成 SQL。
Take()
和 Skip
使用 ROW_NUMBER()
生成 SQL,如图所示 here .
另外,我建议使用优秀的 LINQPad工具或 LINQ to SQL 日志记录来检查生成的查询。
关于linq - LINQ skip & take 是否有不错的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3665031/