位置: 编程技术 - 正文

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

  • 税务机关地区编号查询
  • 用现金支付的没有发票怎么办
  • 子公司向母公司借款利息税务处理
  • 实收资本印花税率是多少啊
  • 个人写的收据要留身份证复印件吗
  • 企业经营活动所需的资金的来源渠道有
  • 属于期间费用抵减项目
  • 城市维护建设税税率
  • 股息交个人所得税怎么交
  • 出口转内销增值税报表怎么填
  • 采购折扣怎么结转成本?
  • 企业录用失业人员有税收优惠吗
  • 对外支付类型
  • 外埠纳税人经营地报验登记税务管理论文
  • 汽车销售公司买车后续维修保养
  • 安装费要交税吗
  • 销售收入里面包括免税收入呢
  • 出售子公司全部股权的股权账务处理
  • 汽车的增值税可以退税吗
  • 个人购买经济适用住房享受减半征收契税优惠应报送
  • macbook设置壁纸后开机变回原样
  • 购进材料是进项税还是销项税
  • 小型微利企业免税政策
  • 删除文件时不放大怎么办
  • win10重启按什么键重置
  • php数组函数大全
  • 无形资产的摊销年限不得低于多少年
  • php require include
  • 怎样把有余额的钱转出来
  • 机器学习中的数据预处理方法与步骤
  • 快速查找附近的人
  • 上市公司回购股票意味着什么
  • 买过来的土地可以确权吗
  • css中字体样式设置
  • ie浏览器网页滚动条怎么隐藏
  • php教程从入门到精通
  • bad block bitmap checksum
  • 免税收入包括
  • 无形资产资本化和费用化的区别
  • 小规模纳税人附加税减免政策2023
  • 购买办公用品没有合同缴纳印花税吗
  • 城市维护建设税,教育费附加,地方教育费附加
  • 代扣代缴增值税如何申报抵扣
  • 以前年度多交增值税账务处理
  • 建筑公司包工包料提供建筑服务
  • 公司法人的车辆给公司用可以报销费用吗
  • 清算期间研发费怎么算
  • 营改增后还有建筑业发票吗
  • 购入固定资产的增值税计入成本吗
  • 发现以前年度假期不满
  • 投资性房地产用三栏式吗
  • 专票入账用哪一联
  • 已核销的坏账又收回时应当及时入账,防止形成账外款
  • php+mysql prepare 与普通查询的性能对比实例讲解
  • tcpdump的用法
  • 苹果的os什么意思
  • android系统应用可以禁用吗
  • 如何创作图文并茂的图片
  • Windows 7 64位系统手动添加Editplus到鼠标右键的方法
  • 如何手动添加开机密码
  • linux仿mac
  • service.exe是什么
  • windows sky high
  • 笔记本win8.1怎么重装系统
  • win8.1技巧
  • android app 源码
  • 如何使用jquery绑定事件
  • jquery技巧
  • 置顶通知要开启吗
  • jqueryui dialog
  • jquery怎么打开
  • js定时器有哪些,区别及用法
  • javascript基础笔记
  • python web网站
  • jquery使用教程
  • jquery代码实例
  • 上海各区税务大厅
  • 容积率大于0.5 房产原值怎样算
  • 天津税务查询电话
  • 收购晾晒烟叶,支付价款20万元,支付价外补贴2万元
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设