首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >偏移分页与游标分页

偏移分页与游标分页
EN

Stack Overflow用户
提问于 2019-04-18 11:20:46
回答 2查看 13.8K关注 0票数 25

我正在学习分页,我有一些问题。

  1. 两种方法的区别是什么?
  2. 基于光标的分页的最佳用例?
  3. 基于光标的分页可以转到特定的页面吗?
  4. 基于光标的分页可以返回到上一页吗?
  5. 两者之间有什么性能差异吗?

我的思想

我认为基于游标的方法要复杂得多,这使得基于偏移的分页更加可取。只有以数据为中心的实时系统需要基于游标的分页.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-04 10:55:26

由于添加新记录的频率,光标分页最常用于实时数据,而且在读取数据时通常首先看到最新的结果。在不同的场景中,偏移和游标分页最有意义,因此它将取决于数据本身和添加新记录的频率。在查询静态数据时,仅凭性能成本可能不足以使用游标,因为它带来的额外复杂性可能超出了您的需要。

引用这个很棒的博客文章,快乐编码!

另外,看看这个:

分页是解决此问题的一种解决方案,它确保服务器只以小块发送数据。基于光标的分页是我们推荐的超过编号页的方法,因为它消除了跳过项并多次显示相同项的可能性。在基于游标的分页中,常量指针(或游标)用于跟踪数据集中下一项应从何处提取。

这个解释来自Appolo GraphQL文档

票数 15
EN

Stack Overflow用户

发布于 2022-04-30 16:36:20

这篇文章解释了他们之间的区别。

两种方法有什么区别?

差别很大。一个分页使用偏移,另一个分页使用游标。这两种方法各有优缺点。例如,偏移分页允许跳到任何页,而在基于光标的分页中,只能跳入下一页/前一页。

在下面的执行方面也有很大的不同。偏移量很可能需要将所有记录从第一页加载到要获取的页面。有一些技术可以避免这种情况。

关于更多的利弊,我建议阅读文章

基于光标的分页的最佳用例?

如果您使用的是关系数据库,并且拥有数百万条记录。查询高偏移量可能需要大量的时间/超时,而游标分页则更具有性能。

基于光标的分页可以转到特定的页面吗?

不,这是这种方法的缺点之一。

基于光标的分页可以返回到上一页吗?

提供两个游标作为响应是一种非常常见的技术,一个包含上一页,另一个包含下一页。如果是这样的话,您可以转到上一页。否则,你就不能。

两者之间有什么性能差异吗?

是!见上面我的评论。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55744926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档