位置: 编程技术 - 正文

详解MySQL的limit用法和分页查询语句的性能分析

编辑:rootadmin

推荐整理分享详解MySQL的limit用法和分页查询语句的性能分析,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

limit用法

在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能。

LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1): 为了与 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。

为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:

如果只给定一个参数,它表示返回最大的记录行数目:

换句话说,LIMIT n 等价于 LIMIT 0,n。

Mysql的分页查询语句的性能分析

MySql分页sql语句,如果和MSSQL的TOP语法相比,那么MySQL的LIMIT语法要显得优雅了许多。使用它来分页是再自然不过的事情了。

详解MySQL的limit用法和分页查询语句的性能分析

最基本的分页方式:

在中小数据量的情况下,这样的SQL足够用了,唯一需要注意的问题就是确保使用了索引:举例来说,如果实际SQL类似下面语句,那么在category_id, id两列上建立复合索引比较好:

子查询的分页方式:

随着数据量的增加,页数会越来越多,查看后几页的SQL就可能类似:

一言以蔽之,就是越往后分页,LIMIT语句的偏移量就会越大,速度也会明显变慢。

此时,我们可以通过子查询的方式来提高分页效率,大致如下:

JOIN分页方式

经过我的测试,join分页和子查询分页的效率基本在一个等级上,消耗的时间也基本一致。 explain SQL语句:

为什么会这样呢?因为子查询是在索引上完成的,而普通的查询时在数据文件上完成的,通常来说,索引文件要比数据文件小得多,所以操作起来也会更有效率。

实际可以利用类似策略模式的方式去处理分页,比如判断如果是一百页以内,就使用最基本的分页方式,大于一百页,则使用子查询的分页方式。

标签: 详解MySQL的limit用法和分页查询语句的性能分析

本文链接地址:https://www.jiuchutong.com/biancheng/349909.html 转载请保留说明!

上一篇:MAC下Mysql5.7.10版本修改root密码的方法(mysql mac下载)

下一篇:超简单的qps统计方法(推荐)(qpso算法)

  • 企业所得税弥补亏损明细表怎么看
  • 积分抵现是什么意思
  • 当月增值税为负数
  • 有限合伙企业有经营权吗
  • 发出商品和委托代销商品科目的区别
  • 税前薪酬包括五险一金吗
  • 亏损企业能不能无常捐赠
  • 建造期间不可抗力因素入成本么
  • 通行费抵扣入账会计分录?
  • 政府补贴转给其他公司
  • 开了票后才收到工程款怎么做账?
  • 税金及附加小于应缴纳所得税是什么原因
  • 关于现代服务业的书籍
  • 外方获得的利润怎么算
  • 向境外支付违约金要代扣税吗
  • 建筑行业挂靠什么意思
  • linux转换windows
  • 退货需要进行的操作
  • 解决网卡驱动故障的方法
  • 先开票后发货怎么操作
  • 生产型企业原材料运费入库单怎么填
  • linux系统的介绍
  • 桌面级cpu天梯图快科技
  • deldir.exe是什么
  • 汇票到期收到款项会计分录
  • 发行债券会计分录怎么写
  • 减征增值税的项目
  • 最高频率内存条是多少
  • thinkphp框架介绍
  • 最快超级计算机我国
  • 公司向股东借款多久必须归还
  • ajax的使用场景
  • http://与www.开头的网站有何区别
  • 增值税发票洗烂怎么办
  • js怎么注册
  • 金银首饰零售商属于消费税纳税人吗
  • 小规模纳税人零申报流程
  • phpcms 标签
  • 小规模所得税怎么计算公式
  • 个体户交个税新政策
  • 林木的培育和种植免征企业所得税
  • 利润分配的5个基本原则
  • 差旅费税前扣除政策
  • 购买商品并入库做什么会计分录
  • 补开发票交税
  • 生产企业电费怎么做账
  • 被选为工会代表
  • 私车公用是否违法
  • 税率由16%变更为13怎么算
  • 收到客户回款 应收账款减少还是增多
  • 公司给客户的礼品太差了还需要给客户吗
  • 公司固定资产报废申请范文
  • 股东的义务是什么意思?
  • 设备5年直线法计提折旧怎么做?
  • 原始凭证书写要求
  • mysql8设置时区
  • 自动化生产线模型
  • sql游标用法
  • egui.exe是什么进程
  • Windows文件夹共享权限不足
  • awk两个文件关联合并
  • 硬盘安装fedora
  • 简洁桌面怎么设置
  • 照相机文件名
  • win10重置系统快捷键
  • win10查看驱动
  • win10交接wifi
  • unity3D LineRender的使用
  • surf apk android
  • js中的$是什么意思
  • linux 进程监控
  • unity核心模块
  • shell脚本进程号
  • 表单失去焦点事件
  • javascript用处
  • js如何封装
  • 详解Python中的Descriptor描述符类
  • 广东省地方税务局
  • 国家税务总局办税指南
  • 消费税的征税范围包括
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设