位置: 编程技术 - 正文

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

  • 用友 项目核算
  • 水利基金在哪个科目核算
  • 应付职工薪酬为什么不属于金融负债
  • 社保缴费回单怎么查
  • 通过网络手段获取用户行为的方法
  • 接受捐赠的材料会计分录怎么写
  • 车间管理人员的工资属于
  • 什么叫外埠存款
  • 外币折算准则规范的外币交易
  • 房产税开征范围中的城市
  • 建筑企业预缴增值税计算
  • 2018年收入等级划分图
  • 电子增值普通发票经营范围呢免费吗
  • 所得税季度申报表营业成本怎么填
  • 农产品收购发票怎么抵扣
  • 出口退税收汇凭证是什么
  • 购入苗木的会计分录
  • 基金赎回未到账可继续买吗?
  • 收到外单位奖励怎么回复
  • 可供出售金融资产发生减值会计处理
  • macos12支持设备
  • 把u盘变成光盘模式
  • windows11加密
  • 房子按季度收取租金,怎么交房产税
  • 个人所得税跨年度能退吗
  • vue 高德地图 窗体
  • 什么是集成显卡长什么样
  • 公司暂估成本是什么意思
  • 发票已付款未认账怎么办
  • php获取上个月第一天
  • 西西弗书店主管级
  • php记录页面停留多久
  • 工程分包合同
  • php查询mysql数据库
  • 小规模纳税人的增值税账务处理
  • 共管账户和联名账户
  • vue+element-ui项目
  • js正则用法
  • 代发工资的会计科目
  • 中国烟草资产负债表
  • 增值税进项税抵扣凭证
  • 怎样在网上领取
  • 让客户抽奖赠送什么礼物
  • 金蝶现金流量表不对怎么处理
  • 土增税预征计征依据
  • 普通支票和现金支票区别
  • MySQL主从数据库搭建
  • 暂缓收缴工会经费申请
  • 企业出租专利技术收取的租金不得确认为收入对吗
  • 法定盈余公积的主要用途
  • 同一控制下企业合并
  • 公司注销后应收账款转给个人
  • 流动资金周转次数计算公式
  • 母公司代子公司收款,子公司开具发票
  • 农产品收购发票如何抵扣进项税
  • 临时设施科目计入什么
  • 汇兑损益形成的基础是
  • sql server的存储方式
  • win7激活怎么关闭
  • win7怎么删除桌面图标
  • ubuntu系统怎样
  • Win8系统筛选器Smartscreen阻止恶意程序运行
  • windows8.1关机
  • xp系统个性化
  • 如何调整windows桌面图标大小
  • win7系统的文件夹怎么挪位置
  • win8应用商店下载
  • js的事件绑定
  • jquery简单例子
  • bat批处理脚本教程
  • java dao框架
  • js创建元素
  • js中两个等号
  • jQuery基于muipicker实现仿ios时间选择
  • excel自定义控件
  • python类中的函数必须加self吗
  • javascript零基础
  • 土地增值税法定扣除项目
  • 如何在同一台电脑上投屏
  • 债务核销条件
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设