MySQL中如何使用limit
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,这篇文章将为大家详细讲解有关MySQL中如何使用limit,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。limit语法limit语法支持两个参数,offset和li
千家信息网最后更新 2025年11月10日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安全错误
数据库的锁怎样保障安全
奇亚数据库同步
东营机械软件开发定制
如何看自己的数据库是哪个版本的
俩mysql数据库比对软件
河南 华为 服务器
服务器是不是不能装32位
上海有机化学数据库红外标准谱图
礼包码我的世界服务器
动软代码生成器添加服务器
网络安全形势5个目标
计算机网络技术属于
世界著名软件开发企业
徐汇区正规软件开发厂家直销
异速联提示不是合法的认证服务器
sum like 数据库
小程序用服务器好还是云托管
三大中文检索数据库
无线电与网络安全
怎样选择数据库设计
广州广发软件开发工资
邢台网络技术有限公司
辽宁网络安全技能大赛
数据库原理与技术视频教程
部署代码的服务器长什么样
嵌入式软件开发算程序员吗
阿里数据库优化方案
数据库表结构修改的命令是
明日之后所有渠道服的服务器
软件开发税票公司需要进项吗
中海达服务器