我想用LINQ to entity(EF)创建分页,我发现Skip
方法,但它只支持排序输入,所以我认为它在大量行中会很慢。有没有办法分页而不先排序?
答案 0 :(得分:6)
对于特定的SQL查询,数据库没有义务以相同的顺序返回记录集,而没有声明特定的顺序。
您可以运行相同的查询,并且每次运行前10个记录都不同。数据库将根据最适合自己的内容执行此操作(数据的哪一部分缓存在内存中,哪些部分在两次执行同一查询之前发生了变化等)。
因此,无论您使用什么ORM,都必须指定数据的顺序。并确保您为该字段定义了正确的索引,并根据该字段对记录进行排序。