码迷,mamicode.com
首页 > 编程语言 > 详细

Order by排序后分页limit取值出现重复显示问题

时间:2020-03-12 18:51:56      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:ext   row   有关   get   原因分析   取出   增加   ref   显示   

一、出现问题的原因:

     有关数据库order by排序不唯一,导致分页出现重复数据问题。

数据库order by排序不唯一,会导致最终的数据排序是不是稳定的,表现出来的结果,就是分页时会重复显示; 

 

二、解决方案:

建议在 order by 最后,增加 PK列 或  ROWID

单单是增加索引缺失不能解决问题,但是增加唯一性索引就行了,PK列 或者 ROWID也能确保唯一,结论是只有能保证order by排序唯一,才会导致结果不重复



原因分析:

当取出的数据排序字段的值是一样的时候,MySQL在返回数据时,返回数据顺序不固定,我们取前10个数据的时候,数据库返回数据的顺序,与我们取前20个数据时,数据库返回数据的顺序是完全不同的,于是它生成的limit伪列编号就完全不一样,就导致了显示重复值错误。

 

 

 

 

 见多识广总能让人耳目一新

Order by排序后分页limit取值出现重复显示问题

标签:ext   row   有关   get   原因分析   取出   增加   ref   显示   

原文地址:https://www.cnblogs.com/afeige/p/12470814.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!