本文主要是介绍依据pagesize和pageindex参数来进行分页出现重复数据问题解决方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 出现原因
这里以最简单也是最基本的sql 语句分页为例,假如现在数据库现有数据为
1,2,3,4,5,6,7
排序的规则是按照大小倒序,即数据的全部列表为:
7,6,5,4,3,2,1
假如现在是获取第二页数据,pagesize为2,pageindex为2,正确结果为 “5,4” 。这无可厚非,在数据未发生改变的情况下,正确结果确实如此,那如果数据发生的变化呢,假如现在新加入一条数据 8,列表数据会变为
8,7,6,5,4,3,2,1
那依据以上分页原则,第二页获取的数据就变为了“6,5”
- 解决方法
1、服务端分页接口参数新增上一页最后一条数据id参数lastId,去掉pageindex参数,因为在多数情况下,pageindex参数在服务端的作用是确定数据的起点而已,如果有了lastid,pageinde在很多情况下其实已经不需要了。
2、服务端把所有的数据做缓存,这样动态数据在一定时间内静态化,但是这样也是治标不治本。
3、如果业务上对于排序无要求的话,服务端可以采用顺序分页,把获取的数据落在不会变动的数据段上
这篇关于依据pagesize和pageindex参数来进行分页出现重复数据问题解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!