3

我想用 LINQ to entity (EF) 创建分页,我找到Skip了方法,但它只支持排序输入,所以我认为它在大量行中会很慢。有什么方法可以在不先排序的情况下进行分页吗?

4

1 回答 1

6

对于特定的 SQL 查询,如果没有声明特定的顺序,数据库没有义务以相同的顺序返回记录集。

您可以运行相同的查询,并且每次运行的前 10 条记录都不同。数据库将根据最适合自己的方式执行此操作(哪些部分数据缓存在内存中,哪些部分在两次执行相同查询之前发生了变化等)。

因此,无论您使用什么 ORM,您都必须指定您想要数据的顺序。并确保您有一个正确定义的索引,用于根据该索引对记录进行排序。

于 2013-06-10T12:45:13.673 回答