前段时间,测试给了个bug ,前端显示时第一页和第二页有重复的数据,后台debug测试也有。把控制台打印的sql考到可视化工具跑一下,问题还是有。 然后再去除分页,发现问题就没有了。出现问题点在于分页。后来请教了我们公司的大佬。说可能是因为你那个字段值有重复的情况,最好加一个可以保证唯一性的字段 ...
postgresql 分页数据重复探索 问题背景 许多开发和测试人员都可能遇到过列表的数据翻下一页的时候显示了上一页的数据,也就是翻页会有重复的数据。 如何处理 这个问题出现的原因是因为选择的排序字段有重复,常见的处理办法就是排序的时候加上唯一字段,这样在分页的过程中数据就不会重复了。 关于这个问题文档也有解释并非是一个bug。而是排序时需要选择唯一字段来做排序,不然返回的结果不确定 排序返回数据 ...
2019-03-28 11:35 0 619 推荐指数:
前段时间,测试给了个bug ,前端显示时第一页和第二页有重复的数据,后台debug测试也有。把控制台打印的sql考到可视化工具跑一下,问题还是有。 然后再去除分页,发现问题就没有了。出现问题点在于分页。后来请教了我们公司的大佬。说可能是因为你那个字段值有重复的情况,最好加一个可以保证唯一性的字段 ...
); postgresql : delete from t_zhzx_aj ...
今天测试的时候遇到个bug:分页查询出来的数据是乱序的(第一页查过的数据也会跑第二页去) 将mybatis 日志中的sql ,拿出来单独执行,发现结果是正确,为什么mybatis查出来的数据是乱序的? 初步分析可能是排序列上的重复值引起的,但是我的sql中并没有排序字段。 经过尝试有两种 ...
背景 读取规则是按照某表中sequence字段排序的,而这个字段是让人手工填写的。那么,可想而知,数据一多,难免会出现填写的值相同的情况。 综上所述,可能就会导致以下两条sql出现数据重叠的情况: 说明 从网上找了一篇对此问题解释的文章,这里不做赘述。问题产生的原因 ...
当同时排序又分页时,如果排序的字段X不是唯一字段,当多个记录的X字段有同一个值时顺序是随机的。 这个有可能造成分页时数据重复的问题。某一页又把上一页的数据查出来了,其实数据库只有一条记录。 解决办法: 如果排序字段不是唯一的,则增加个二级排序,二级排序的字段要是唯一的(例如id)。 ...
Mybatis oracle多表联合查询分页数据重复的问题 多表联合查询分页获取数据时出现一个诡异的现象;数据总条数正确,但有些记录多了,有些记录却又少了甚至没了。针对这个问题找了好久,最后发现是由于多个排序字段不唯一,同样的排序顺序每次运行返回的结果顺序不一致,导致这样的现象出现。 增加 ...
1.常规删除方法 explain analyse delete from deltest a where a.ctid <> (select min(t.ctid) from deltes ...
前言 一天,小明很着急地在通讯工具上说:这边线上出现了个奇怪的问题,麻烦 DBA 大大鉴定下,执行语句 select xx from table_name wheere xxx order by 字段A limit offset;, 表数据总共 48 条,分页数量正常,但出现了结果混杂的情况 ...