续传查询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的顺序要与续传语句的筛选顺序保持一致,否则会导致漏数。

相关推荐
东方佑12 小时前
去魅:工具调用、Agent 调用、A2A、MCP、Harness 到底都是什么
服务器·网络·数据库
l1t12 小时前
DeepSeek总结的ALTER FUNCTION SET work_mem:无需全局更改即可修复 PostgreSQL 磁盘溢出
sql·缓存·postgresql
瑞克-桑切斯12 小时前
2、 MySQL 主从复制与读写分离
数据库·mysql
收纳过往12 小时前
数据库加索引的时机:慢查询日志说话
android·开发语言·数据库·python·低代码·rxjava
咖啡八杯13 小时前
Redis 工具封装:RedisCache 对 Operations 体系的二次封装
java·数据库·redis·缓存·框架·springboot·若依
PaperData13 小时前
2000-2025年地级市科技支行设立数据
数据库·科技
实泽有之,无泽虚之13 小时前
ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务问题原因及解决办法
数据库·oracle
牧瀬クリスだ13 小时前
Redis Hash实战:高效存储对象与购物车
java·数据库·redis·算法·哈希算法
A小码哥13 小时前
【外】水星3号实测 1068 token 每秒靠谱吗
数据库
qq_4523962313 小时前
第六篇:《SQL 优化的艺术:从慢查询到毫秒级响应》
数据库·sql