位置: 编程技术 - 正文

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

  • 增值税率和征收率
  • 税盘维护费的账务处理
  • 个人获得的专利有哪些
  • 进项税额转出会影响利润吗
  • 以银行存款支付水电费
  • 即征即退收入要交税吗
  • 有形动产租赁属于营改增吗
  • 发票必须用完才可以购买吗
  • 收到红字信息表不能直接开具
  • 增值税即征即退政策适用范围
  • 购买商标权发生损失能税前扣除吗?
  • 关联企业往来业务包括
  • 购入材料用什么科目
  • 土地使用权作为固定资产的情况
  • 建筑行业跨期收入汇算清缴如何调整?
  • 材料实际成本的会计分录
  • 营业外支出税前扣除比例是多少
  • 认可的发票验证怎么弄
  • 专票上的账号打错了
  • 7.1增值税普通发票怎么开?
  • 董事费监事费高管薪酬标准
  • 全员劳动生产率是什么意思
  • 个人所得税免税收入怎么填纳税申报表
  • 银行流动性比例要求
  • 筹建期间发生的收入
  • 合同印花税会计分录
  • 合并报表同一控制下和非同一控制下区别
  • php nsq
  • 关于怀孕在线咨询
  • win10多任务分屏怎么关闭
  • php查看变量数据类型
  • 企业常用的成本核算方法有哪些
  • 差旅费的会计分录怎么做
  • yolov5 output
  • 挥别2020逐梦2021
  • php静态方法可以被继承吗
  • 织梦使用手册
  • 准予从销项税额中扣除的有哪些
  • 小规模简易征收最新政策2020
  • 未分配利润可以挂多久
  • 冲抵货款是什么意思
  • 空调维修保养方案
  • 中级会计考试时间
  • 销售折扣的账务处理有详细的计算过程
  • 货币兑换是根据什么
  • 事业单位现金收支流程图
  • 应付票据是
  • 已认证的红字发票要给购买方吗
  • 事业单位的服务期
  • 财务费用科目余额
  • etc发票申请流程
  • 党委经费是国家政府出吗?
  • 哪些资产减值损失一经计提不得转回
  • 中国电子口岸企业法人卡
  • wamp怎么用mysql
  • mysql error1418
  • freebsd命令大全
  • freebsd 升级
  • 通过注册表删除脱机打印机
  • linux监控软件zabbix
  • linux分区顺序详解
  • linux给文件赋予权限
  • js的三种循环
  • ExtJs3.0中Store添加 baseParams 的Bug
  • shell脚本tr
  • python 管理内存
  • 转义字符对应英文
  • Jqgrid之强大的表格插件应用
  • 关于事件的报告范文
  • jQuery EasyUI tree 使用拖拽时遇到的错误小结
  • python如何查询函数用法
  • python写邮箱
  • 陕西税务局稽查处处长
  • boss直聘怎么注销账号
  • 开的发票怎么抽奖
  • 上海市税务局招聘
  • 四川省税务局发票
  • 云南税务网上税务局
  • 四川国税网上申报大厅
  • 德阳契税收费标准2022
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设