位置: 编程技术 - 正文

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允许字段为空)

  • 小规模合作社免税吗
  • 什么是免税合并
  • 发票验旧期限
  • 上季度弥补以前年度亏损与本季度亏损
  • 眼镜所属行业怎么填写
  • 未加盖发票专用章的发票是不合规
  • 所得税预缴申报表中营业成本怎么计算
  • 已经发出的商品怎么修改
  • 未及时支付工资时间界限
  • 收到的扶贫工作经费会计分录
  • 劳务费个税申报税率
  • 小规模纳税人当月超过500万的部分怎么申报
  • 个体户没有三证合一,年检
  • 私立医院增值税税率是多少
  • 税收名词汇编
  • 个人非货币性资产投资的税务筹划
  • 补偿贸易具体方式
  • 销售费用的运费算不算增值税
  • 贸易公司所得税率多少
  • 2019小规模纳税人增值税起征点
  • 新办企业的开办费用应计入( )
  • 能够影响现金流的因素有
  • 收到管理费用的会计科目
  • 外购集体福利用交税吗
  • 工资必须通过银行代发吗
  • 汇算清缴退税调整利润表
  • 已计提的存货跌价准备确认为净损失吗
  • 小型纳税人个人所得税
  • 小型微利企业的
  • 企业的银行利息收入要交企业所得税吗
  • 苹果mac怎么禁止百度搜索
  • w10系统搜索
  • 债券利息收入的分录
  • 金税盘申请电子发票成功后怎样手工导入
  • 汽车销售公司购买车辆会计科目
  • Laravle eloquent 多对多模型关联实例详解
  • 王者荣耀中廉颇是哪一个族的族长
  • macos使用方法
  • 出口企业增值税怎么算
  • 预测编码方式
  • 银行日记账本月没有发生业务
  • 更换电脑金税盘的数据如何导入新电脑
  • php链表的应用场景
  • 微信小程序游戏手游排行榜
  • 一个简单安全的小故事
  • 商业银行贷款的资本充足率
  • 快递怎么做账单
  • mongorepository排序
  • 发票开具与小票的关系是怎样的
  • 事故赔偿给谁
  • 一般纳税人开普票要交税几点
  • 公司欲购买一台设备,现在一次性
  • 砖厂会计账务处理流程图
  • 在职职工暖气费补助款
  • 出口报关金额怎么算
  • 专利技术评估价值7亿
  • 小规模纳税人增值税计算公式
  • 预包装食品加工及销售营业执照图片
  • 营业外收入的主要核算内容
  • 财务软件服务费合同印花税
  • 原始凭证填制的基本内容
  • 产品是如何产生的
  • 操作系统安装日期查看
  • xp系统内存不能为read的解决方法
  • 如何让xp系统崩溃
  • win10任务栏怎么变成透明
  • cocos2dx AudioEngine初体验,音效播放结束判断测试
  • tab栏切换案例
  • 深入浅出android开发
  • javascript标题
  • javascript基于什么的语言
  • 爱加密企业版
  • android怎么学
  • python 管理系统
  • 国际货运代理业务范围
  • 残疾人企业如何申请补贴
  • 个人出租商业用房开票税率
  • 学费减免政策
  • 如何电子税务局缴纳社保费用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设