位置: 编程技术 - 正文

MySQL分页分析原理及提高效率(mysql分页性能)

编辑:rootadmin

推荐整理分享MySQL分页分析原理及提高效率(mysql分页性能),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql分页实现原理,mysql分页问题,mysql分页查询原理,mysql分页问题,mysql分页查询原理,mysql 分页原理,mysql分页实现原理,mysql 分页原理,内容如对您有帮助,希望把文章链接给更多的朋友!

MySQL分页分析原理及提高效率

PERCONA PERFORMANCE CONFERENCE 上,来自雅虎的几位工程师带来了一篇”Efficient Pagination Using MySQL“的报告,有很多亮点,本文是在原文基础上的进一步延伸。

首先看一下分页的基本原理:

limit ,的意思扫描满足条件的行,扔掉前面的行,返回最后的行,问题就在这里,如果是limit ,,需要扫描行,在一个高并发的应用里,每次查询需要扫描超过W行,性能肯定大打折扣。文中还提到limit n性能是没问题的,因为只扫描n行。

文中提到一种”clue”的做法,给翻页提供一些”线索”,比如还是SELECT * FROM message ORDER BY id DESC,按id降序分页,每页条,当前是第页,当前页条目id最大的是,最小的是,如果我们只提供”上一页”、”下一页”这样的跳转(不提供到第N页的跳转),那么在处理”上一页”的时候SQL语句可以是:

处理”下一页”的时候SQL语句可以是:

MySQL分页分析原理及提高效率(mysql分页性能)

不管翻多少页,每次查询只扫描行。

缺点是只能提供”上一页”、”下一页”的链接形式,但是我们的产品经理非常喜欢”<上一页 1 2 3 4 5 6 7 8 9 下一页>”这样的链接方式,怎么办呢?

如果LIMIT m,n不可避免的话,要优化效率,只有尽可能的让m小一下,我们扩展前面的”clue”做法,还是SELECT * FROM message ORDER BY id DESC,按id降序分页,每页条,当前是第页,当前页条目id最大的是,最小的是,比如要跳到第8页,我看的SQL语句可以这样写:

跳转到第页:

原理还是一样,记录住当前页id的最大值和最小值,计算跳转页面和当前页相对偏移,由于页面相近,这个偏移量不会很大,这样的话m值相对较小,大大减少扫描的行数。其实传统的limit m,n,相对的偏移一直是第一页,这样的话越翻到后面,效率越差,而上面给出的方法就没有这样的问题。

注意SQL语句里面的ASC和DESC,如果是ASC取出来的结果,显示的时候记得倒置一下。

已在W数据总量的表中测试,效果非常明显。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

mysql允许所有host访问的方法 1.把mysql库中user表中的一条记录的Host字段值改为%,奇怪的是一定要用以下语句设置一下密码才行2.updateusersetPassword=PASSWORD("")WHEREHost="%";3.执行flushprivil

MySql在Mac上的安装与配置详解 一、下载安装官网下载社区版dmg安装文件:

mysql5.7.解压版启动mysql服务 mysql5.7.解压版启动mysql服务,具体内容如下1.下载mysql社区版2.解压到D:ProgramFiles3.在D:ProgramFilesmysql-5.7.-winxbin下,新建文件my.ini,内容如下:[client]po

标签: mysql分页性能

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

上一篇:解决mysql创建数据库后出现:Access denied for user 'root'@'%' to database 'xxx'的问题(mysql创建数据库的操作步骤)

下一篇:mysql允许所有host访问的方法(mysql允许字段为空)

  • 视同销售增值税申报表怎么填写
  • 一般纳税人和小规模纳税人哪个合适
  • 未交增值税借贷方负数表示
  • 生产成本和制造费用的账务处理
  • 出口退税进项税额转出怎么申报
  • 冲红电子发票是什么意思
  • 存货的初始计量应以取得存货的实际成本
  • 支付广告roi
  • 本期进项税大于销项税
  • 公司卖车怎么开公司发票
  • 车船税代扣代缴手续费
  • 出差车费报销申请怎么写
  • 机动车发票申请流程
  • 企业申请零申报需要什么条件
  • 城建税如何核算成本
  • 承兑汇票转出
  • 销售折扣购货方的会计分录
  • 往年的制造费用怎么算
  • 应交税金审计
  • 个体工商户营业执照年检
  • 施工企业直接费间接费怎么算
  • 合同中补充协议
  • 工会开发票有税号吗?
  • 《外出经营活动税收管理证明》收购发票
  • 小规模印花税减免性质代码和项目名称
  • 代扣代缴增值税如何申报抵扣
  • 建设银行对公转账限额
  • 显卡硬件加速如何开启
  • 银行自动扣费用是什么
  • 公司向银行贷款利息是多少
  • php中运算符
  • 印花税申报后怎么缴费
  • linux中断原理
  • vue3 + Tailwind Css + Vite 搭建快速开发前端样式环境
  • 发票已开不符合收入确认条件账务处理怎么做?
  • 杜鹃花的养殖方法和修剪
  • 出售报废边角料税率
  • json postman
  • 中小企业应交税费
  • 借管理费用贷应交税费个人所得税
  • vue-cli(vue脚手架)超详细教程
  • 手撕代码是啥意思
  • php获取远程图片文件流
  • 销售商品怎么做好宣传
  • 租赁合同印花税怎么申报缴纳
  • 内账增值税计入什么科目
  • 应收保费核算什么业务
  • 公司福利可以发现金吗
  • 支付宝企业账户怎么注销
  • 可抵扣进项税有哪些项目
  • 半成品可以计入企业产值吗
  • 核定征收企业有没有自然人电子税务
  • 税控盘减免税款分录
  • 应收利息的会计分录怎么写
  • 其他应收款科目核算哪些业务
  • 会计制度和会计准则科目转换
  • 旧设备投资的账务处理
  • 会计交接事项有哪些
  • 10分钟学会
  • 没有光驱启动
  • win7系统电脑屏幕倒过来了怎么办
  • windows8出现蓝屏
  • win10以管理员身份登录电脑
  • win10快速切换到桌面快捷键
  • centos6.5无法启动
  • 手机如何使用windows
  • redhat无法启动
  • linux中vi命令详解
  • 服务器不支持是什么意思
  • 很不错的词语
  • web前端开发工具哪个好
  • <2> unity3d 分包与上google play 之具体实战
  • JavaScript+html5 canvas绘制渐变区域完整实例
  • 从最近两会看苹果和谷歌的最大梦魇
  • js写日期
  • 北京东城区社保电话
  • 简述进料加工对中国的意义
  • 组织创新包括哪些类型
  • 资源综合利用企业所得税优惠
  • 中国进口车关税为什么那么贵
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设