GBase 8a
其他
文章

GBase 8a关于order limit 翻页有重复值问题的原因

发表于2025-01-11 12:25:2447次浏览1个评论

1、在做order limit 或者单纯limit翻页时,第二页有和第一页重复的数据的原因。只有在唯一键参与排序时,才能完全确保数据的唯一性。

从语法上讲,limit 本身并没有严格的效果,第二次查询时的结果集,不能保证和第一次查询的结果集完全顺序相同。

如果你用了order, 但排序的列有重复值,也不能保证。

如果order的列是唯一的,则能保证翻页后是不会和上一页重复,但这个是业务数据自己保证的。
2、这个现象与多节点集群本身的特性有关,哪个节点先出结果,order by 相同的值排在前面。
所以解决该问题需要避免有order by 相同的值。

3、表数据增加唯一值

V95版本使用自增列能避免分页重复值问题

评论

登录后才可以发表评论
崔哥发表于 9个月前
虚心向前辈学习