MySql中分页查询慢如何解决
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,MySql中分页查询慢如何解决,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。limit分页原理当我们翻到最后几页时,查询
千家信息网最后更新 2025年02月02日MySql中分页查询慢如何解决
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安全错误
数据库的锁怎样保障安全
学习数据库原理及应用的目的
怎么管理多个云服务器
到邮件服务器的加密连接不可用
网络安全分析数据传输
文件能上传数据库吗
软件开发公司做什么好
redis做数据库查询一级缓存
新乡市皓宇网络技术有限公司
安防门禁 服务器
德州市网络安全大队
浪潮erp软件开发工程师
服务器cpu降频和硬件有关系吗
网易云手动排序显示服务器错误
pdb药物综合数据库
高度关注网络安全
金蝶2000 数据库
7代至强服务器CPU
深圳东方创想网络技术公司
端游网易我的世界有啥好玩服务器
中国数据库怎么样
镇平手机软件开发公司
网络安全搭建教程
奥密克戎确诊人数时间分布数据库
沈阳中兴网络技术有限公司
同花顺画线软件开发
ftp服务器配置要求
大数据数据库的英文
网络安全宣传周高峰论坛
国冢网络安全法
服务器托管管理制度