位置: 编程技术 - 正文

详解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算法)

  • 交个税步骤
  • 交易性金融资产借贷方向
  • 分给当期投资者利润如何做会计分录?
  • 事业单位财务收支
  • 增值税普通电子发票可以抵税吗
  • 基本户收到零余额转款怎么做分录
  • 被收购的收入计什么科目
  • 汇票 到期
  • 暂估费用发票没到会计分录怎么写?
  • 母公司借款给子公司作为投资
  • 每月认证多少发票怎么算
  • 为何要简并增值税税率?
  • 银行汇款风险提示
  • 服务费主营业务收入会计分录
  • 实际出资和名义出资
  • 香港公司的法人叫什么
  • win10虚拟机安装win7
  • windows10如何设置输入法
  • 销售利润率是什么能力指标
  • 消费税和购置税怎么算
  • rapapp.exe - rapapp是什么进程 有何作用
  • live updater
  • 甘油三血脂高怎么办
  • 企业会计核算利润表
  • php canal
  • php从服务器下载文件
  • 口腔门诊提供免费服务有哪些?
  • es6的module模块
  • thinkphp5框架介绍
  • 分公司?
  • 印花税应计入什么
  • 微服务组件面试题
  • 土建工程怎么入账
  • 外贸企业出口货物增值税的计算依据
  • 红字发票已开但红字发票信息表已核销待查证,怎么回事?
  • 企税申报表怎么填
  • 个税申报的本期收入是应发工资吗
  • rust 前端开发
  • 财务负责人和法人可以一个人吗
  • 消防设备要多少钱
  • 息税前利润的计算公式中的利息费用
  • 砖厂会计账务处理流程图
  • 现金折扣要扣除折扣金额入账吗
  • 小规模增值税税率2023
  • 商品验收入库时怎么做账
  • 企业收到微信和企业微信
  • 小企业会计准则和企业会计准则的区别
  • 跨年度退货可以不退款吗
  • 特定担保债权
  • 融资租赁本金和租金的区别
  • 当月发票未作废
  • 销项税小于进项税是亏本吗
  • 营业收入是利润总额吗
  • 无发票 入账
  • 原始凭证的会计分录
  • MySQL中truncate误操作后的数据恢复案例
  • 三种实现方法实现的特点
  • win2008r2下载
  • centos6安装yum源
  • 开源操作系统总结
  • ubuntu 16.04 u盘安装
  • windowspe安装win7
  • 如何避免系统性风险
  • 电脑avg是什么软件
  • linux中安装jdk1.8
  • centos无法挂载位置
  • 怎么才能把win7变win10
  • popupblocker是什么
  • win7数据保护
  • 删除文件时出现错误是怎么回事
  • 安卓显示时间代码
  • python pip版本更新
  • nodejs处理excel
  • android系统联网
  • the oculus rift
  • 控制游戏类型
  • [置顶]从lv2开始开挂的原勇者候悠闲的异世界生活
  • 河南省电子税务局官网入口
  • 河南个人社保查询登录入口官网
  • 企业购票员有风险吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设