游标分批查询,提高查询性能

大批量数据查询的方案

数据表,在查找大批量数据,或者滚动查询页面时,

如果使用全量查询,可能会因为查询时间过久,触发超时。

如果使用 LIMIT 分批查询,查到最后几页时,由于偏移量越来越大,查询会越来越慢。

数据表,在查找大批量数据,或者滚动查询页面时,可以使用游标分批查询。

游标分批查询

游标分批查询,也就是根据id 分批查找。

利用主键(或唯一索引)的有序性,每次记住上一次查询的最后一条 ID,下一批只取 ID 更大的记录,直到取完。

这种方式可以避免使用 OFFSET 导致的大偏移量性能问题。

sql 示例:

复制代码
-- 第一批:取前 1000 条
SELECT * FROM user WHERE id > 0 ORDER BY id LIMIT 1000;
-- 假设结果中最大的 id 为 1000

-- 第二批:取 id > 1000 的下 1000 条
SELECT * FROM user WHERE id > 1000 ORDER BY id LIMIT 1000;
-- 依此类推
相关推荐
Bs_MoneyMagnet14 分钟前
基于springboot+vue的滑雪场票务与装备租赁系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·spring·毕业设计·计算机毕业设计
野生技术架构师5 小时前
2026 Java 面试全套总结,八股 + 场景 + AI 相关面试考点
java·人工智能·面试
香吧香6 小时前
java服务异常日志只打印异常类型,没有堆栈定位分析
java·jvm·异常
qq_2518364577 小时前
AI 疾病自查功能SpringbootAI项目实战 · 技术实现文档
java·ai·ai编程
逆境不可逃7 小时前
Pi Agent 学习笔记:对话太长以后,如何压缩上下文
java
MetaLite7 小时前
JDK 8~26 核心特性一览:从 Stream 到 Scoped Values
java
wno7048 小时前
Spring Boot WebFlux增删改查
java·spring boot·后端
君顾18 小时前
上海24小时自助健身房系统开发实战指南:从架构设计到落地部署
java·开发语言·健身房
SL_staff9 小时前
别急着买商业规则引擎:90%风控场景根本不需要全量编码能力
java·程序员·groovy
ManageEngineITSM9 小时前
DevOps和ITIL是什么关系?是替代还是互补一文讲清
java·服务器·资产管理·变更管理