续传查询SQL不规范导致漏数的问题

查询交易记录的时候,,用户需要一页一页往下翻,每点击一次就会将续传接口包发到后端接口进行查询返回下一页的数据,续传接口有几个字段,是续传键值,后端的SQL会根据上次读取到的最后一条往后捞数据

有些同事写的SQL不规范,导致续传漏数,具体如下:

sql 复制代码
-- Oracle 索引是A_B_C
select *
from 交易表
where A > a 
or (A = a and B > b)
or (A = a and B = b and C > c)
and ROWNUM <= 1000
Order by B, A, C 

因为三个字段在order by中的顺序与续传语句中筛选不一致,导致在查数时数据会错乱、漏数

还有的场景就是,续传语句中筛选的顺序是A,B,C,但是在order by的时候掺杂了其他字段D进去,也会导致漏数出现

结论:order by的顺序要与续传语句的筛选顺序保持一致,否则会导致漏数。

相关推荐
环流_3 小时前
Redis中string类型的应用场景
数据库·redis·缓存
倔强的石头_3 小时前
拒绝被复杂报表拖垮!HTAP场景下“标量子查询消除”硬核调优指南
数据库
环流_3 小时前
redis中list类型
数据库·redis·list
jiayong234 小时前
Tool Permission 与 Sandbox 的安全流水线:Agent 工具系统的工程边界
java·数据库·安全·agent
weixin_444012934 小时前
如何在MongoDB中实现按时间跨度的分片路由_时间序列范围分片与冷热节点架构
jvm·数据库·python
六月雨滴4 小时前
块(Block)管理
数据库·oracle·dba
东风破1374 小时前
DM存储过程及系统 表,系统视图,以及常规的运维SQL语句
运维·数据库·dm达梦数据库
CQU_JIAKE5 小时前
5.13【A】
数据库·sql
lzhdim5 小时前
SQL 入门 14:SQL 触发器与事件:自动化数据处理
linux·前端·数据库·sql·自动化
环流_5 小时前
redis中hash的应用场景
数据库·redis·哈希算法