MySQL 分页越查越慢?Limit Offset 优化方案汇总
MySQL 分页越查越慢Limit Offset 优化方案汇总分页是开发中最常见的需求之一但大多数人在一开始都写过这样的代码SELECT * FROM orders ORDER BY id LIMIT 100000, 20;这条 SQL 在小数据量时没问题一旦偏移量变大性能就会急剧下降。原因很简单MySQL 需要跳过前面 100000 行才能读取后面的 20 行——这 100000 行全部被扫描并丢弃了。下面汇总 5 种经过验证的优化方案从简单到复杂覆盖不同场景。方案一子查询延迟关联最常用原理​ 先用覆盖索引快速定位起始 ID再关联回原表获取完整数据避免回表扫描大量无用行。-- 原始写法慢 SELECT * FROM orders ORDER BY id LIMIT 100000, 20; -- 优化后快 SELECT o.* FROM orders o INNER JOIN ( SELECT id FROM orders ORDER BY id LIMIT 100000, 20 ) AS tmp ON o.id tmp.id;适用场景​ 任何基于自增主键排序的分页偏移量较大时效果显著。性能提升​ 偏移 10 万行时通常能快10~50 倍。方案二游标分页推荐用于无限滚动原理​ 记住上一页最后一条记录的 ID下一页直接用WHERE id last_id代替LIMIT OFFSET。-- 第一页 SELECT * FROM orders ORDER BY id LIMIT 20; -- 第二页传入上一页最后一个 id 1000 SELECT * FROM orders WHERE id 1000 ORDER BY id LIMIT 20; -- 第三页传入上一页最后一个 id 1020 SELECT * FROM orders WHERE id 1020 ORDER BY id LIMIT 20;优点无论翻多少页速度恒定不需要计算偏移量缺点只能实现“下一页”不能跳转到任意页码依赖连续递增的主键如果有删除操作会有空洞但不影响功能适用场景​ 移动端列表、Feed 流、评论加载等“无限滚动”场景。方案三利用 BETWEEN 或 跳过偏移适合已知主键范围原理​ 如果知道当前页的起始主键值直接用范围查询代替 LIMIT OFFSET。-- 假设每页 20 条第 5001 页的起始 id 是 100000 SELECT * FROM orders WHERE id 100000 AND id 100020 ORDER BY id;优点​ 极快只需扫描目标范围内的数据。缺点需要前端传回起始 ID或后端计算好主键不能有跳跃太大的空洞否则页数不准适用场景​ 后台管理系统的固定页码列表配合缓存记录每页起始 ID。方案四禁用 COUNT(*)改为估算总数原理​ 很多分页组件需要显示总页数而COUNT(*)在大表上非常慢。如果业务允许近似值可以用SHOW TABLE STATUS或EXPLAIN估算。-- 精确但慢全表扫描 SELECT COUNT(*) FROM orders WHERE status 1; -- 估算行数毫秒级 SHOW TABLE STATUS LIKE orders; -- 或者 EXPLAIN SELECT * FROM orders WHERE status 1;注意​SHOW TABLE STATUS返回的是采样估算值误差可能在 30% 以内。EXPLAIN的rows字段也是估算值。适用场景​ 搜索列表、资讯列表等不需要精确总数的页面。方案五分区表 并行查询终极方案原理​ 将大表按时间或主键范围分区查询时只扫描相关分区甚至可以用多线程并行查询。-- 按月份分区 CREATE TABLE orders ( id BIGINT NOT NULL, created_at DATETIME NOT NULL, ... ) PARTITION BY RANGE (TO_DAYS(created_at)) ( PARTITION p202401 VALUES LESS THAN (TO_DAYS(2024-02-01)), PARTITION p202402 VALUES LESS THAN (TO_DAYS(2024-03-01)), PARTITION p202403 VALUES LESS THAN (TO_DAYS(2024-04-01)) ); -- 查询时自动只扫相关分区 SELECT * FROM orders WHERE created_at 2024-02-01 AND created_at 2024-03-01;适用场景​ 超大数据表千万级以上且有时间维度查询需求。方案对比速查表方案实现难度性能提升适用场景局限性子查询延迟关联⭐⭐高任意分页偏移量大时需要合适的索引游标分页⭐极高无限滚动、翻页按钮不能跳页BETWEEN 范围查询⭐极高固定页码、已知ID范围依赖主键连续性禁用 COUNT(*)⭐中等不需要精确总数失去精确分页信息分区表⭐⭐⭐⭐极高超大规模数据维护成本高实际选型建议场景一后台管理系统传统分页使用方案一子查询延迟关联如果数据量特别大百万级以上考虑方案四禁用 COUNT​ 或缓存总数场景二移动端/Web 无限滚动使用方案二游标分页配合last_seen_id参数传给前端场景三实时数据流如日志查询使用方案三BETWEEN 范围查询结合时间戳或自增 ID 做游标场景四超大规模数据千万级以上使用方案五分区表同时配合游标分页或子查询一句话总结别再用 LIMIT OFFSET 翻大页了。用游标代替偏移量用子查询延迟关联代替直接回表用估算代替精确 COUNT这三种技巧能解决 90% 的分页性能问题。

相关新闻

奇偶排序算法:从串行到并行的C++实现与优化

奇偶排序算法:从串行到并行的C++实现与优化

1. 项目概述:奇偶排序,一个被低估的并行排序思想在C/C的算法世界里,排序算法家族可谓星光熠熠,从经典的冒泡、选择、插入,到高效的快速、归并、堆排序,再到特定场景下的计数、桶排序。今天,我想…

2026/7/29 5:55:37阅读更多 →
ANSYS Fluent多孔介质模型:催化转化器热流耦合仿真全流程解析

ANSYS Fluent多孔介质模型:催化转化器热流耦合仿真全流程解析

1. 从“堵”到“通”:多孔介质模型在工程仿真中的核心价值在流体仿真领域,我们常常会遇到一类特殊的“拦路虎”:那些内部结构极其复杂、无法或无需进行全细节建模的区域。比如,发动机的催化转化器、电子设备的散热风扇、化工反应器…

2026/7/29 5:55:37阅读更多 →
AI生成论文检测与智能降重技术解析

AI生成论文检测与智能降重技术解析

1. 项目背景与核心痛点去年帮导师审硕士论文时发现一个现象:超过60%的投稿都存在明显的AI生成痕迹。最典型的案例是某篇经管类论文,查重率仅12%,但AI检测显示62%内容疑似AI生成。学生坦言用了某AI写作工具辅助,结果在预答辩时被导…

2026/7/29 5:55:37阅读更多 →
Kaggle注册

Kaggle注册

问题描述 注册界面没有验证码解决方案:获取扩展Header Editor导入和导出——下载规则输入:https://azurezeng.com/static/HE-GoogleRedirect.json——点击下载——直接保存再次进入注册界面即可 文章参考:https://blog.csdn.net/weixin_40259…

2026/7/29 7:05:53阅读更多 →
掌控板编译报错Python命令失败?系统化排查与修复指南

掌控板编译报错Python命令失败?系统化排查与修复指南

1. 问题定位:为什么你的掌控板编译卡在Python命令上?如果你正在用Mind、mPython或者自己搭建的Arduino环境给掌控板(通常指基于ESP32或类似MCU的教育开发板)写程序,点击“上传”或“编译”后,突然弹出一个“…

2026/7/29 7:05:53阅读更多 →
洛阳考研集训口碑好的培训学校

洛阳考研集训口碑好的培训学校

随着考研竞争的日益激烈,越来越多的学生选择参加专业的考研培训班来提升自己的竞争力。在洛阳地区,有一家深受学生信赖的考研辅导机构——洛阳文都考研(总部校区)。本文将从多个维度为您解析为何洛阳文都考研能够在众多培训机构中…

2026/7/29 7:05:52阅读更多 →
ESP32驱动多通道触觉反馈背心:从游戏沉浸感到多模态交互实践

ESP32驱动多通道触觉反馈背心:从游戏沉浸感到多模态交互实践

1. 项目概述:当“第六感”遇上可穿戴冲击几年前,我在一次黑客马拉松上,和几个硬件、游戏开发背景的朋友组队,想搞点不一样的东西。我们当时的目标很明确:打破屏幕的束缚,让虚拟世界的交互能“撞”到你的身体…

2026/7/29 7:05:52阅读更多 →
Kimi K3 开源引发硅谷震动,英伟达与 Anthropic 就开源闭源各执一词!

Kimi K3 开源引发硅谷震动,英伟达与 Anthropic 就开源闭源各执一词!

不惜一切“保护”开源最近,中国开源模型 Kimi K3 引发硅谷科技巨头震动,让英伟达和 Anthropic 公开对立。Kimi K3 放至 Hugging Face 仅 30 分钟获 4000 点赞,登顶热门榜,目前累计六千多点赞。其价格低于 Claude 系列&#xff0c…

2026/7/29 7:05:51阅读更多 →
C/C++文件读写核心技术:从文本解析到二进制序列化实战指南

C/C++文件读写核心技术:从文本解析到二进制序列化实战指南

1. 项目概述:为什么文件读写是C/C开发的基石在C/C开发的世界里,无论你是刚入门的新手,还是摸爬滚打多年的老手,文件读写都是一个绕不开的核心技能。它不像数据结构或算法那样充满智力挑战,也不像多线程编程那样让人神经…

2026/7/29 7:03:50阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/28 4:06:39阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/29 7:00:19阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/28 1:38:28阅读更多 →
28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“!

28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“!

28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“! 在构建复杂的 Agent 系统时,我们经常会遇到这样的场景:Agent 正在执行一个多步骤的任务,比如“下单购买商品”,但执行到一半时,我们…

2026/7/29 0:01:46阅读更多 →
自律同行,突破无界!NANK南卡正式官宣曾舜晞成为品牌代言人

自律同行,突破无界!NANK南卡正式官宣曾舜晞成为品牌代言人

近日,国际专注开放式技术研发的声学品牌Nank南卡,正式官宣实力艺人曾舜晞担任品牌代言人。消息一经发出便轰动全网。为什么耳机品牌不选择流量明星、老牌歌手?而且是选择曾舜晞?让我们一起来探索一下!比起短期的流量&a…

2026/7/29 0:01:46阅读更多 →
【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:01:46阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/28 20:22:24阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/29 4:31:51阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/28 2:35:58阅读更多 →