位置: 编程技术 - 正文

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

  • 增值税纳税申报表在哪里查询
  • 非征税期抄税如何解决
  • 管理费用结转本年利润,账簿怎么登
  • 个税汇算清缴为啥要补交
  • 通行费发票抵扣要勾选认证吗
  • 已经作为损失的资产以后纳税年度收回的会计处理
  • 土地使用权的账面价值计入在建工程
  • 在建工程之前是什么
  • 个人账户转公司账户需要交税吗
  • 应收账款多久收回合适
  • 多收账款怎么账务处理
  • 车辆保险代交车船使用税会计分录怎么写?
  • 企业利息收入要交所得税吗
  • 所有利息收入都免税吗
  • 个人房源出租
  • 购买小汽车增值税发票金额开错
  • 收到认证费用计入什么科目
  • 联营企业发生亏损怎么处理
  • 电子发票能报税不
  • 铁路改道作业的流程
  • 消费税在哪个环节征税
  • 筹建期间的开办费包括哪些
  • 任务栏图标重叠一起
  • 上月计提费用下月一定要冲回吗
  • 跨年的费用冲回会计分录
  • 工资薪金与劳务报酬的区别有哪些
  • u启动pe装机工具怎么重装系统
  • 减半征收所得税的有哪些
  • mac 查看当前用户
  • 公司整体收购缴税
  • 土地价款会计分录
  • 超期未认证的发票怎么处理
  • cuda运行环境
  • 出售固定资产减免的税款账务处理
  • 投资企业撤回或减少投资企业所得税
  • winform缓存解决方案
  • 外购货物用于公益性捐赠
  • 红字怎么看
  • vue父组件子组件
  • 前端资源浏览器下载
  • 单位收到投标保证金会计分录
  • 计提坏账准备的前提条件
  • 季度所得税申报怎么弥补以前年度亏损
  • 年底本年利润需要结转吗
  • 劳务费发票 个税
  • 增值税进项加计抵减账务处理
  • sqlserver存储过程语法
  • mysql从一个库导入进另一个库
  • 跨境收入免增值税需做备案吗
  • 企业应收账款怎么记账
  • 教育费附加和地方教育费附加都要交吗
  • 红冲去年的成本怎么做账
  • 收到实务返利的发票
  • 土地回收补偿费怎么算
  • 安全生产责任险是强制险吗
  • 电子发票开具流程?
  • 制造费用和生产成本影响营业利润吗
  • mysql 5.7.33安装
  • win7安装mysql8.0.17
  • vmware如何用
  • 如何恢复win8系统
  • window正在检查内存
  • ultraiso刻录音乐到dvd
  • rundull32.exe
  • linux vps 教程
  • windows10周年更新
  • win10如何彻底关掉自动锁屏
  • 如何解决win10系统重置卡在62
  • android view动画
  • php redis incr
  • nodejs定义数组
  • javascript高级程序设计pdf百度云
  • 抽奖小程序模板
  • js响应事件的过程
  • amd模拟intel
  • jqueryfor循环
  • 房产税纳税义务时间
  • 工会经费支出审批制度
  • 所有企业都要做应急预案吗
  • 苏通卡上海服务网点查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设