位置: 编程技术 - 正文

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

  • 车辆购置税会计科目怎么做账
  • 分配股东利润分录
  • 计提企业所得税会计分录怎么做
  • 消费税退回退税流程
  • 动迁补偿款怎么算
  • 公司账户进账必须交税吗
  • 财务软件计提所得税分录
  • 人民币报关出口跨境
  • 财政拨款税收政策
  • 房产租金收入是什么科目
  • 以实物抵债账务协议
  • 进项抵扣怎么操作
  • 结转税金为贷方怎么结转?
  • 质检实验室布局
  • 资产类低值易耗品
  • 收到知识产权专用发票
  • 企业购买预付卡怎么做账
  • 事业单位预算外收入
  • 差额征税科目
  • 陕西省水利基金的税率
  • 自然人个人能否纳税
  • 购进原材料科目
  • 报税期间如何开发票?
  • 短期借款有没有上年结转
  • 商品条码续展费怎么退
  • acer笔记本电脑怎么恢复出厂设置
  • 企业所得税退税怎么做账务处理
  • 费用销售收入占比怎么算
  • 代开专票计提附加税吗
  • 商业一般纳税人标准
  • 无偿调入固定资产
  • 发票作废的政策规定
  • 实缴资金少有什么风险
  • 实现产供销一体化
  • php三大特性
  • 季报的利润表本月金额填的是当月数可以吗
  • 福利费专用发票如何账务处理
  • javascript创建对象及应用
  • 论文导语如何写
  • 使用ChatGPT进行AI对话
  • 租房开的发票收的税怎么做账?
  • 工会经费计提的会计分录
  • 企业应设置的账簿包括什么
  • threejs 3dtiles
  • 销售赠品入什么科目
  • 国家企业信用公示信息公示
  • 注册资本在十年后怎么办
  • 车船税应计入税金及附加吗
  • 企业汇算清缴必须要做审计吗
  • 公司销售红酒需要什么资质
  • 进项税已认证未缴纳
  • 委托付款做账怎么做
  • 12月计提的工资没有发完怎么做账
  • 办公室装修费用怎么入账
  • 应交税费应交印花税贷方余额
  • 排污费计入管理费用吗
  • 持有待售的非流动资产减值能转回吗
  • 企业开发是什么专业
  • 股权转让 会计
  • 分公司从业人数填越少越好吗
  • sqlserver数据库建库建表
  • ubuntu server gui
  • win8系统怎么清理缓存
  • win10重大更新
  • 戴尔笔记本电脑开不了机
  • CentOS操作系统
  • 为什么多出一个系统
  • 为什么windows删除文件很慢
  • iphone制造成本
  • win8不能正常启动
  • winxp开机黑屏只有光标
  • window7系统清理
  • 宽带连接错误628win10
  • androidstudio 教程
  • python pygame模块详解
  • nodejs接收form表单
  • js性能优化方法
  • 请问一般纳税人的业务协调税率是多少
  • 蓬溪房价2020最新消息
  • 上海税务局发票验旧
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设