MySQL中如何使用limit
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章将为大家详细讲解有关MySQL中如何使用limit,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。limit语法limit语法支持两个参数,offset和li
千家信息网最后更新 2026年11月02日MySQL中如何使用limit
这篇文章将为大家详细讲解有关MySQL中如何使用limit,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
limit语法
limit语法支持两个参数,offset和limit,前者表示偏移量,后者表示取前limit条数据.
例如:
## 返回符合条件的前10条语句 select * from user limit 10## 返回符合条件的第11-20条数据select * from user limit 10,20
从上面也可以看出来,limit n 等价于limit 0,n.
性能分析
实际使用中我们会发现,在分页的后面一些页,加载会变慢,也就是说:
select * from user limit 1000000,10
语句执行较慢.那么我们首先来测试一下.
首先是在offset较小的情况下拿100条数据.(数据总量为200左右).然后逐渐增大offset.
select * from user limit 0,100 ---------耗时0.03sselect * from user limit 10000,100 ---------耗时0.05sselect * from user limit 100000,100 ---------耗时0.13sselect * from user limit 500000,100 ---------耗时0.23sselect * from user limit 1000000,100 ---------耗时0.50sselect * from user limit 1800000,100 ---------耗时0.98s
可以看到随着offset的增大,性能越来越差.
这是为什么呢?因为limit 10000,10的语法实际上是mysql查找到前10010条数据,之后丢弃前面的10000行,这个步骤其实是浪费掉的.
优化
用id优化
先找到上次分页的最大ID,然后利用id上的索引来查询,类似于select * from user where id>1000000 limit 100.
这样的效率非常快,因为主键上是有索引的,但是这样有个缺点,就是ID必须是连续的,并且查询不能有where语句,因为where语句会造成过滤数据.
用覆盖索引优化
mysql的查询完全命中索引的时候,称为覆盖索引,是非常快的,因为查询只需要在索引上进行查找,之后可以直接返回,而不用再回数据表拿数据.因此我们可以先查出索引的ID,然后根据Id拿数据.
select * from (select id from job limit 1000000,100) a left join job b on a.id = b.id;
耗时0.2秒.
关于"MySQL中如何使用limit"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
数据
索引
语句
查询
篇文章
语法
实际
性能
更多
条件
不错
实用
最大
不用
两个
也就是
也就是说
内容
参数
实际上
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
湖北九亚互联网络科技有限公司
广州百单互联网科技有限公司
科技类互联网
麻工互联网科技
广州互联网络科技有限公司
上海卓越科技 互联网
互联网公司会议桌创意科技软装饰
青岛中康互联网医疗科技有限公司
承德科技产业互联网发展
宁夏众和广鑫互联网科技有限公司
千方科技属于互联网企业吗
迪庆互联网科技招生
2021互联网科技公司排名
山东星卡互联网科技有限公司官网
北京市互联网新科技
风投北京互联网科技
图游互联网科技
新氧科技和美国互联网有关系吗
互联网领先科技成果宣传视频
互联网企业和网络科技有限公司
润盈互联网科技
融贸通互联网科技
华中科技有哪些互联网大佬
银川新华互联网科技学校地址
北京三清互联网科技
南山科技园互联网公司有哪些
青海科技产业互联网发展
梅州GM互联网络科技有限公司
皮皮虾互联网科技有限公司
工业互联网科技成果转化