题要叙述
在按时间排序进行分页的时候,遇见了这样的问题。在查询所有的数据,并没有重复的数据出现,但是按时间排序,分页后有重复的数据。dodo不知道大家有没有遇见过。
建表是这样的:
然后查询这张表用户邀请表,并按创建时间进行排序。显示数据。
注释:注意图中标蓝的new_user_id
现在开始进行分页查询这条数据,并按创建时间进行排序:
查询的第一页
注释:注意图中标蓝的new_user_id
在这第一页中new_user_id的数据在第5个出现。
查询的第二页
注释:出现相同的数据new_user_id 的数据。
在这第二页中new_user_id的数据在第4个出现
查询的第三页
注释:出现相同的数据new_user_id 的数据。
在这第三页中new_user_id的数据在第1个出现
如果心细的人会发现,在这几张表中,创建的每行数据的create_time的时间都是相同的。
如果是不同的时间,不会出现按时间进行排序,并分页的重复数据
由此,可以看出,如果时间相同的情况下,MySQL通过时间进行排序,并进行分页查询大量数据的时候,会出现重复的数据的现象。
解决这个问题。可以先通过时间进行排序,如果时间相同的情况下,再根据ID,或者其他的字段去进行排序。
示例:
同样的数据。
查询的第一页
查询的第二页
查询的第三页
谨记:在尤其是经过存储过程导入的数据一定排序时要关注时间是否相同
欢迎关注
文章转载自摘星族,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1483次阅读
2025-03-13 11:40:53
MySQL8.0统计信息总结
闫建(Rock Yan)
550次阅读
2025-03-17 16:04:03
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
505次阅读
2025-03-13 14:38:19
SQL优化 - explain查看SQL执行计划(一)
金同学
441次阅读
2025-03-13 16:04:22
MySQL突然崩溃?教你用gdb解剖core文件,快速锁定“元凶”!
szrsu
429次阅读
2025-03-13 00:29:43
MySQL生产实战优化(利用Index skip scan优化性能提升257倍)
chengang
371次阅读
2025-03-17 10:36:40
MySQL数据库当前和历史事务分析
听见风的声音
346次阅读
2025-04-01 08:47:17
墨天轮个人数说知识点合集
JiekeXu
324次阅读
2025-04-01 15:56:03
MySQL 生产实践-Update 二级索引导致的性能问题排查
chengang
317次阅读
2025-03-28 16:28:31
MySQL8.0直方图功能简介
Rock Yan
260次阅读
2025-03-21 15:30:53