游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

技术分享MySQLchangebuffer何时生效

  作者:胡呈清
  爱可生DBA团队成员,擅长故障分析、性能优化,个人博客:https:www。jianshu。comua95ec11f67a8,欢迎讨论。
  本文来源:原创投稿
  爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。
  已知changebuffer的原理
  参考资料:https:juejin。impost6844903875271475213
  对于普通二级索引,当插入、修改、删除二级索引记录时,即使数据不在innodbbufferpool中,也不需要先把数据从磁盘读取到内存。只需要在changebuffer中完成DML操作,下次读取时才会从磁盘读取数据页到内存,并与changebuffer进行merge,从而得到正确的数据。这减少了DML时的随机IO。疑问
  按照上述原理,使用changebuffer二级索引不需要读取磁盘,那delete、update是如何得到affectedrows的?答
  不妨先作出假设:如果delete、update是以主键、唯一索引做为筛选条件,则读取磁盘或者innodbbufferpool中的主键、唯一索引来确定affectedrows。对于普通索引页上记录的删除或者修改,还是直接使用changebuffer,不需要单独将普通索引页从磁盘上读取到内存。如果delete、update是以普通二级索引做为筛选条件,以delete为例(update内部实现是先delete再insert):deletefromtwherea100;如果索引页不在内存中,则需要先从磁盘读取a索引,找到a100的记录对应的id(主键值),再从磁盘扫描主键索引(回表)将id满足条件的记录读取到内存。然后在innodbbufferpool中把对应的主键索引页、二级索引页中的记录删除。这里不使用changebuffer。验证
  接下来设计两个实验来验证上述假设。实验1以主键为筛选条件做delete
  用sysbench造一张100万行的表,表中有一个主键和一个普通索引:CREATETABLEsbtest1(idintNOTNULLAUTOINCREMENT,kintNOTNULLDEFAULT0,cchar(120)COLLATEutf8mb4binNOTNULLDEFAULT,padchar(60)COLLATEutf8mb4binNOTNULLDEFAULT,PRIMARYKEY(id),KEYk2(k));
  重启mysqld,清空innodbbufferpool,注意参数:innodbbufferpoolsize64Minnodbbufferpoolloadatstartup0innodbbufferpooldumpatshutdown0innodbbufferpooldumppct0
  执行delete,并使用showengineinnodbstatusG观察INSERTBUFFERANDADAPTIVEHASHINDEX部分信息,判断是否使用changebuffer:mysqldeletefromsbtest1whereid1;QueryOK,1rowaffected(0。00sec)mysqlshowengineinnodbstatusGINSERTBUFFERANDADAPTIVEHASHINDEXIbuf:size1,freelistlen29,segsize31,1mergesmergedoperations:insert0,deletemark1,delete0discardedoperations:insert0,deletemark0,delete0mysqldeletefromsbtest1whereid2;QueryOK,1rowaffected(0。00sec)INSERTBUFFERANDADAPTIVEHASHINDEXIbuf:size1,freelistlen29,segsize31,2mergesmergedoperations:insert0,deletemark2,delete0discardedoperations:insert0,deletemark0,delete0mysqldeletefromsbtest1whereid3;QueryOK,1rowaffected(0。00sec)INSERTBUFFERANDADAPTIVEHASHINDEXIbuf:size1,freelistlen29,segsize31,3mergesmergedoperations:insert0,deletemark3,delete0discardedoperations:insert0,deletemark0,delete0mysqlselectfromsbtest1whereid4;mysqldeletefromsbtest1whereid4;INSERTBUFFERANDADAPTIVEHASHINDEXIbuf:size1,freelistlen29,segsize31,4mergesmergedoperations:insert0,deletemark4,delete0discardedoperations:insert0,deletemark0,delete0
  上述实验说明:如果delete是以主键做为筛选条件,对于普通索引k,如果索引页不在内存中(selectfromsbtest1whereid4读取的只是主键索引页,不会读取k索引页),会使用changebuffer(每次delete后,deletemark都增加1)。实验2以普通索引为筛选条件做delete
  重新造数据,重启mysqld清空bufferpool。下面实验结果说明:如果delete以普通索引做为筛选条件,对于普通索引k,如果索引页不在内存中,不会使用changebuffer。言外之意就是需要读取磁盘了。deletewhereid1,deletemark1,说明使用了changebuffermysqldeletefromsbtest1whereid1;QueryOK,1rowaffected(0。01sec)INSERTBUFFERANDADAPTIVEHASHINDEXIbuf:size1,freelistlen29,segsize31,1mergesmergedoperations:insert0,deletemark1,delete0discardedoperations:insert0,deletemark0,delete0deletewherek367246,deletemark不变,说明没有使用changebuffermysqlselectfromsbtest1whereid2;idkcpad23672464290970034070078987867623571240963549516919385675377266146437193473041702018680900182681503823744446626061119674781290517411214029815060467792434464478849891023499591rowinset(0。00sec)mysqldeletefromsbtest1wherek367246;QueryOK,1rowaffected(0。01sec)INSERTBUFFERANDADAPTIVEHASHINDEXIbuf:size1,freelistlen29,segsize31,1mergesmergedoperations:insert0,deletemark1,delete0discardedoperations:insert0,deletemark0,delete0

舅舅带外甥来组装电脑,外甥真是太不懂事了又不贵,才四万多还有不到一个月就开学了,很多家长或者是亲属都在给自己的孩子、侄子、外甥准备一些大学礼了,这些礼物通常都是以电脑、手机、平板的形式出现,就在今天,我就遇到了一位外甥跟着自己的舅舅……德生科技三代社保卡放量,有望成为数字货币应用场景关注原因:短线,机构分析,三代社保卡将成为数字人民币核心场景之一。韭菜公社www。jiucaigongshe。com1、数字人民币(1)公司参股5的子公司北京惠民数……柔宇科技被爆拖欠员工薪酬,承诺后期给予薪资补偿或期权奖励12月8日,柔宇科技被爆资金紧张,大规模拖欠员工薪酬。南都记者就此联系了柔宇科技相关人员,但是尚未得到官方回复。不过,柔宇一名内部员工向南都记者表示,公司HR已经发邮件向员工表……花100万组装一台电脑是什么体验?王思聪给了份完美答案花100w组装一台电脑是什么体验?原以为这样的话题只有在知乎上才能看到,没想到王思聪已经实现了。土味情话算什么,服务器才是最终梦想!一提到王思聪,大家都会想到……SpringBoot基础(三)SpringBoot基础(三)前言大家好,一直以来我都本着用最通俗的话理解核心的知识点,我认为所有的难点都离不开基础知识的铺垫适合人群学完Java基础想通过Java快速构……外媒关注贝索斯将卸任亚马逊CEO据法新社洛杉矶5月26日报道,亚马逊创始人杰夫贝索斯当地时间26日说,他将于7月5日离职,并把运营控制权交给继任者。目前,这家电子商务巨头正在电视和云领域展现实力。报道称……微软Office365更新全新保存页面IT之家3月22日消息去年12月,IT之家曾报道微软正在测试Office365的全新保存页面,现在微软已经面向Office365用户推送了这一更新。这是一种全新的,更快更……阿里性侵案,为什么简单熟悉的套路却让女性难以防备?提3个建议今天阿里性侵案很热,一方面因为阿里是大公司最初处理这件事却非常冷漠,另一方面是因为女性安全一直是我们关心的问题。说一个大家都不陌生的数据吧,超过85的女性遭受过性骚扰。针……作为一个摄影初级爱好者,同价位下是买卡片还是微单还是单反?如果你对摄影非常感兴趣,那么可以建议购买单反,能多学一些摄影知识,然后在可以过渡到微单,两种机器在使用上还是有差距的,这样以后你两种机器都会使用了你觉得苹果iphone的……预算7000元配一台台式主机,能畅玩各类3A大作的怎么配啊?文小伊评科技畅玩3A大作这个畅玩的标准浮动很大,因为低画质1080P下,上上一代的GTX1060都可以满足你的需求,如果你是要极致画质4K光追的情况下,RTX3090都不……手机备忘录都用来干什么?谢邀。备忘录用处很多。1。可以把要忘记的事情记下来。可以让我们记起容易忘的事情。2。我们可以在备忘录中记下读书笔记,这个对我们现在机不离身的我们还是挺好的。可……支付宝会不会逐渐被用户抛弃?依据个人的使用习惯以及和周围朋友聊天得到的结论是:不会。首先,就拿网购来说,大家还是在淘宝天猫上购物多,绝大多数选择用蚂蚁花呗。其次,就拿理财来说,除开银行理财,大家绝大多数是……
重回巅峰,摩托罗拉6000mAh新机上线,6nm芯片助力最近手机市场上的新机很多,除了小米、荣耀之外,摩托罗拉也在发布新机,也就是摩托罗拉edgespro。讲真,因为在手机方面还是有着很悠久的历史,所以摩托罗拉这个品牌并不差,……华为鸿蒙电视即将正式开售,智慧生活好伙伴开启全新视听体验8月12日即将正式开售的华为智慧屏V75Super最近可谓火遍全网。此次华为的V系列智慧屏新品表现令众多消费者格外关注。据了解,华为智慧屏V75Super首次应用零OD技术,相……30003999元手机性价比排行榜vivoX60上榜近日,根据多家科技媒体的消息,国内手机评测机构安兔兔根据后台数据,统计出了2021年6月份Android手机性价比排行榜。按照安兔兔的介绍,本次上榜的机型除了2021年上半年发……过度收集个人信息?中消协20款APP存在不同程度问题中国消费者协会今天(14日)发布《50款APP账号注销及自动化推荐退订测评报告》显示,在是否可以顺利注销APP账号方面,50款APP中有20款APP存在不同程度问题,占总排查比……人人都要懂得网站爬虫知识,你知道多少呢?什么是爬虫呢?网络爬虫是一种按照一定的规则,自动地抓取互联网信息的程序或者脚本。〔2〕可以理解为一个自动访问网页并进行相关操作的小机器人。本质上就是实现高效、自动地进行网……阿里发力技术领域做到了全球第一,但营收被京东反超了,值得吗?双方口径差别很大,京东虚胖。京东是按过账口径,阿里巴巴是按服务收费总额。按照过账算营收,过去几年最大的企业是苏宁,联想,华为。一万元空调京东口径的营收是一万,阿里的……STO和ICO的区别STO是SecurityTokenOffer的缩写,该金融工具被称为证券化通证发行,其目标是在一个合法合规的监管框架下,进行通证的公开发行。它基于两个需求:更强有力的监管……捐款一元被扣三元?爱心收费要明明白白原标题:捐款一元被扣三元?爱心收费要明明白白莫名其妙就被扣了3块钱,很不爽!近期不少网友反馈称,多家互联网大病筹款平台向捐款者收取支持费,甚至捐款1元也被收取3元;此外,……你还记得自己的第一部手机吗?价格是?买的目的是?我用的好像是诺基亚1100,是不是这个型号不太记得了,蓝色直板机。价格好像是几百块,具体也忘记了,还是跟同学借钱买的,因为正在找工作需要一个联系方式。几百块对贫穷的学生来说差不……每日一道算法题字符串输入三个字符串,按由小到大的顺序输出输入3行字符串输出按照从小到大输出成3行样例输入复制cdeafgabc样例输出复制abcafgcde……华为重拳出击,官微首次辟谣沸腾文案7月5日,有部分媒体报道称,华为将与中国移动公司、中国航天公司合作发射两颗卫星,此次华为发射卫星的举动意在进军6G,并率先抢占6G研发先机。7月6日,华为中国官方账号辟谣……魅族无缘安卓12首发,魅友不需要升级,这些功能Flyme9早最近几年手机的发展十分迅速,手机的竞争也十分激烈,不过手机在硬件配置上同质化也趋于严重,所以各大厂商对手机系统的重视程度也越来越高,在近期华为的鸿蒙OS系统正式开启公测推送了,……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网