MySql中分页查询慢如何解决
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,MySql中分页查询慢如何解决,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。limit分页原理当我们翻到最后几页时,查询
千家信息网最后更新 2026年11月02日MySql中分页查询慢如何解决image1 image2
MySql中分页查询慢如何解决,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
limit分页原理
当我们翻到最后几页时,查询的sql通常是:select * from table where column=xxx order by xxx limit 1000000,20。
查询非常慢。但是我们查看前几页的时候,速度并不慢。这是因为limit的偏移量太大导致的。
MySql使用limit时的原理是(用上面的例子举例):
MySql将查询出1000020条记录。
然后舍掉前面的1000000条记录。
返回剩下的20条记录。
上述的过程是在《高性能MySql》书中确认的。
解决方案
解决的方法就是尽量使用索引覆盖扫描,就是我们select后面检出的是索引列,而不是
所有的列,而且这个索引的列最好是id。然后再做一次关联查询返回所有的列。
上述的sql可以写成:
SELECT *FROM
table t
INNER JOIN (
SELECT
id
FROM
table
WHERE
xxx_id = 143381
LIMIT 800000,20) t1 ON t.id = t1.id我们在mysql中做的真实的实验:

上图是没有优化过的sql,执行时间为2s多。经过优化后如下:
执行时间为0.3s,性能有了大幅度的提升。虽然做了优化,但是随着偏移量的增加,性能也会随着下降,MySql官方虽然也给出了
其他的解决方案,但是在实际开发中很难使用。
有的同学可能会问,能不能使用IN嵌套子查询,而不使用INNER JOIN的方式,答案是不可以,因为MySql在子查询中不能使用LIMIT。
MySql分页优化就先介绍到这里了。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
查询
索引
原理
就是
性能
方案
时间
是在
解决方案
偏移
帮助
中分
清楚
上图
例子
内容
同学
大幅度
套子
官方
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网与科技
为想互联网科技怎么样
今日互联网科技
赫美联合互联网科技
互联网科技的未来发展
深圳互联网科技怎么样
顶级互联网科技成果有哪些
科技互联网大厂
深圳育鹏互联网科技有限公司招聘
互联网科技和法律行业
济南有互联网科技公司吗
浙南科技城互联网大厦招聘
工业互联网科技成果转化
半导体行业属于互联网高科技类吗
互联网硬科技公司
广西科技产业互联网是什么
北京天晋互联网科技有限公司
互联网科技和医药行业
众联互联网络科技
北京品多多互联网科技有限公司
喔噻互联网科技有限公司
山东特亿宝互联网科技有限公司
科技信息互联网
北京禾田雨橡互联网科技
多迪互联网科技有限公司
丰台科技园 互联网公司
科技类公司包括互联网吗
美国互联网科技实力
河南商务圈互联网科技有限公司
武汉亿视互联网科技有限公司