今天同事遇到个麻烦的问题,写了一个分页的功能,结果查出来的数据竟然有重复,有些数据同时在相邻的两页出现了, 但是查询总数据不分页的时候又只有一条,这里主要是排序的问题,在mysql中用 order by 排序的时候,如果排序字段中有相同的结果, 则排序结果是不确定的,每一个分页查询 ...
前言 一天,小明很着急地在通讯工具上说:这边线上出现了个奇怪的问题,麻烦 DBA 大大鉴定下,执行语句 select xx from table name wheere xxx order by 字段A limit offset , 表数据总共 条,分页数量正常,但出现了结果混杂的情况,第一页的数据出现在了第二页上 如果 order by 字段B 就不会出现这个现象,怎么会这样呢 其实,这个问题很 ...
2017-05-04 11:24 6 9294 推荐指数:
今天同事遇到个麻烦的问题,写了一个分页的功能,结果查出来的数据竟然有重复,有些数据同时在相邻的两页出现了, 但是查询总数据不分页的时候又只有一条,这里主要是排序的问题,在mysql中用 order by 排序的时候,如果排序字段中有相同的结果, 则排序结果是不确定的,每一个分页查询 ...
今天测试的时候遇到个bug:分页查询出来的数据是乱序的(第一页查过的数据也会跑第二页去) 将mybatis 日志中的sql ,拿出来单独执行,发现结果是正确,为什么mybatis查出来的数据是乱序的? 初步分析可能是排序列上的重复值引起的,但是我的sql中并没有排序字段。 经过尝试有两种 ...
背景 读取规则是按照某表中sequence字段排序的,而这个字段是让人手工填写的。那么,可想而知,数据一多,难免会出现填写的值相同的情况。 综上所述,可能就会导致以下两条sql出现数据重叠的情况: 说明 从网上找了一篇对此问题解释的文章,这里不做赘述。问题产生的原因 ...
解决方法 1、更新栏目缓存 2、更新系统缓存 3、清空以下2个文件夹里的缓存文件 清空 /data/cache/ 里面的所有文件,注意是清空,不是删除这个cache文件夹 清空 /data/tplcache/ 里面的所有文件,注意是清空,不是删除这个tplcache文件夹 ...
背景 前不久在写一个分页接口的时候,在测试阶段出现了排序结果紊乱且数据不正确的问题,那个接口是按照create_time进行排序的,但是对应的表中有很多相同create_time的数据,最后发现是因为 order by 排序的时候,如果排序字段中有多行相同的列值,则排序结果是不确定的。 复现 ...
庞大的数据量,前端展示往往会选择分页。但是在分页获取数据的时候,有新的数据插入,就会存在重复的问题。 案发现场,祖传代码MongDB,获取视频是分页获取的。分析下原因,比如每次获取10条数据,按上传时间倒序排列。 那么第一次获取的数据是 10,9,8,7,6,5,4,3,2,1 ...
前段时间,测试给了个bug ,前端显示时第一页和第二页有重复的数据,后台debug测试也有。把控制台打印的sql考到可视化工具跑一下,问题还是有。 然后再去除分页,发现问题就没有了。出现问题点在于分页。后来请教了我们公司的大佬。说可能是因为你那个字段值有重复的情况,最好加一个可以保证唯一性的字段 ...
因新增数据产生分页数据重复的一个解决方案 Brian ...