我正在学习分页,我有一些问题。
我的思想
我认为基于游标的方法要复杂得多,这使得基于偏移的分页更加可取。只有以数据为中心的实时系统需要基于游标的分页.
发布于 2019-10-04 10:55:26
由于添加新记录的频率,光标分页最常用于实时数据,而且在读取数据时通常首先看到最新的结果。在不同的场景中,偏移和游标分页最有意义,因此它将取决于数据本身和添加新记录的频率。在查询静态数据时,仅凭性能成本可能不足以使用游标,因为它带来的额外复杂性可能超出了您的需要。
引用这个很棒的博客文章,快乐编码!
另外,看看这个:
分页是解决此问题的一种解决方案,它确保服务器只以小块发送数据。基于光标的分页是我们推荐的超过编号页的方法,因为它消除了跳过项并多次显示相同项的可能性。在基于游标的分页中,常量指针(或游标)用于跟踪数据集中下一项应从何处提取。
这个解释来自Appolo GraphQL文档。
发布于 2022-04-30 16:36:20
两种方法有什么区别?
差别很大。一个分页使用偏移,另一个分页使用游标。这两种方法各有优缺点。例如,偏移分页允许跳到任何页,而在基于光标的分页中,只能跳入下一页/前一页。
在下面的执行方面也有很大的不同。偏移量很可能需要将所有记录从第一页加载到要获取的页面。有一些技术可以避免这种情况。
关于更多的利弊,我建议阅读文章。
基于光标的分页的最佳用例?
如果您使用的是关系数据库,并且拥有数百万条记录。查询高偏移量可能需要大量的时间/超时,而游标分页则更具有性能。
基于光标的分页可以转到特定的页面吗?
不,这是这种方法的缺点之一。
基于光标的分页可以返回到上一页吗?
提供两个游标作为响应是一种非常常见的技术,一个包含上一页,另一个包含下一页。如果是这样的话,您可以转到上一页。否则,你就不能。
两者之间有什么性能差异吗?
是!见上面我的评论。
https://stackoverflow.com/questions/55744926
复制相似问题