应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

全民编程都这么久了,你们怎么还不关注一下

  Innodb的四个特性预读双写缓冲区插入缓冲(changebuffer)自适应哈希索引
  innodb架构体系图预读
  在介绍Innodb预读特性之前,笔者有必要介绍一下操作系统的局部性原理,这样方便于读者理解Innodb的一个强大特性预读。
  局部性原理
  一个优秀额程序通常会有良好的局部性,所谓局部性指的是一个应用程序通常会重复使用某块内存区域中的数据,或者使用该区域邻近内存区域的数据。默认情况下当操作系统监测到某块内存区的数据将要被重复使用或者邻近的数据将要被使用时,操作系统会一次性将相邻的若干个数据块同时加载到内存缓冲区中。局部性原理分为以下两种:时间局部性原理:时间局部性原理主要体现在某一块区域中的数据将要被重复使用空间局部性原理,主要体现在相邻的数据块将要被使用,操作系统一次性将邻近的多个数据块一次性通过IO读入内存缓冲区中,下面举个例子来证明空间局部性原理带来性能的提高:packagecom。htym。bean;publicclassLocalTest{publicstaticvoidmain(String〔〕args){int〔〕〔〕arrnewint〔10000〕〔10000〕;for(inti0;i10000;i){for(intj0;j10000;j){arr〔i〕〔j〕1;}}longbegin1System。currentTimeMillis();intsum0;for(inti0;i10000;i){for(intj0;j10000;j){sumarr〔i〕〔j〕;arr〔0〕〔0〕,arr〔0〕〔1〕,arr〔0〕〔2〕,arr〔0〕〔3〕,arr〔0〕〔04〕,arr〔0〕〔5〕。。。。。相邻的数据块仅需通过一次IO操作全部加载到内存中}}System。out。println(结束时间:(System。currentTimeMillis()begin1));longbegin2System。currentTimeMillis();sum0;for(inti0;i10000;i){for(intj0;j10000;j){sumarr〔j〕〔i〕;arr〔0〕〔0〕,arr〔1〕〔0〕,arr〔2〕〔0〕,arr〔3〕〔0〕,arr〔4〕〔0〕,arr〔5〕〔0〕}}System。out。println(结束时间:(System。currentTimeMillis()begin2));}}最终输出结果:结束时间:144结束时间:3607计算同一个二位数组的和但是耗时确相差20多倍,原因就在于数组为连续的内存空间,arr〔0〕〔0〕,arr〔0〕〔1〕,arr〔0〕〔2〕,arr〔0〕〔3〕,arr〔0〕〔04〕,arr〔0〕〔5〕。。。为相邻的数据块仅需通过一次IO操作全部加载到内存中,然而,arr〔0〕〔0〕,arr〔1〕〔0〕,arr〔2〕〔0〕,arr〔3〕〔0〕,arr〔4〕〔0〕,arr〔5〕〔0〕并不是相邻的数据,操作系统只能一个一个的读取,每一次读取都是一次IO操作。
  有了以上局部性原理的知识基础之后,我们再来理解预读的原理就相对简单多了。可以简单的理解为:当Innodb监测到某一块磁盘空间的数据将要被读取时邻近的数据很快将要被使用,Innodb会一次性仅通过一次IO操作将数据读取到内存缓冲池中。Innodb中预读包含两种模式:顺序预读:如果Innodb监测到表空间的某个段的数据将要被使用并且其相邻的数据段也将要被使用,那么Innodb将会一次性通过一次IO操作将数据批量读取到内存缓冲池当中随机预读:如果InnoDB注意到表空间中的某些区域似乎正处于被完全读入缓冲池的过程中,它会将剩余的读取发送到IO系统
  何时触发Innodb预读功能可以通过如下配置来控制顺序预读配置参数Innodbreadaheadthreshold:配置参数innodbreadaheadthreshold控制InnoDB检测顺序页面访问模式的敏感程度。如果从一个extent顺序读取的page数大于等于innodbreadaheadthreshold,则InnoDB启动后续整个extent的异步预读操作。innodbreadaheadthreshold可以设置为064之间的任何值。默认值为56。值越高,访问模式检查越严格。例如,如果您将该值设置为48,则InnoDB仅当当前扩展区中的48个页面已按顺序访问时才会触发线性预读请求。如果值为8,InnoDB即使按顺序访问范围内少至8个页面,也会触发异步预读。您可以在MySQL配置文件中设置该参数的值,或者通过语句动态更改它SETGLOBAL,这需要足够的权限来设置全局系统变量。随机预读配置参数innodbrandomreadaheadON:随机预读是一种技术,它根据缓冲池中已经存在的页面预测何时可能很快需要页面,而不管读取这些页面的顺序如何。如果在缓冲池中找到来自同一extent的13个连续页面,则InnoDB异步发出请求以预取扩展区的剩余页面。要启用此功能,请将配置变量设置innodbrandomreadahead为ON双写缓冲
  双写缓冲区:双写缓冲是一种特殊的文件刷新技术,它涉及到一种称为双写缓冲区的数据结构。在默认情况下Innodb默认开启该功能(dubblewritebufferON),他增加意外退出和断电后的数据恢复的安全性,并减少文件同步(fsync())操作来提高数据库的性能。
  在将页面写入数据文件之前,InnoDB首先将它们写入称为双写缓冲区的连续表空间区域。只有在对双写缓冲区的写入和刷新完成后,才会InnoDB将页面写入数据文件中的适当位置。如果在页面写入过程中存在操作系统、存储子系统或意外的mysqld进程退出(导致页面撕裂的情况),InnoDB则可以稍后在恢复期间从双写缓冲区中找到该页面的良好副本。
  双写缓冲的实现过程:对缓冲池的脏页进行刷新时,不是直接写磁盘,而是会通过memcpy()函数将脏页先复制到内存中的doublewritebuffer,之后通过doublewrite再分两次,每次1M顺序地写入共享表空间的物理磁盘上,在这个过程中,因为doublewrite页是连续的,因此这个过程是顺序写的,开销并不是很大。在完成doublewrite页的写入后,再将doublewritebuffer中的页写入各个表空间文件中,此时的写入则是离散的。如果操作系统在将页写入磁盘的过程中发生了崩溃,在恢复过程中,innodb可以从共享表空间中的doublewrite中找到该页的一个副本,将其复制到表空间文件,再应用重做日志。
  注意:将数据页写如文件的时候,Innodb会将数据写入redolog日志文件中,当完全写入redolog文件之后会设置一个prepare状态,然后再将数据写入dubbowritebuffer中,当意外突出或者断电,数据库恢复数据时会先检查redolog日志文件中是否有prepare状态,如果有直接使用dubblewritebuffer恢复数据,如果dubblewritebuffer不可用则使用redolog文件恢复数据,这种方式称为二阶段提交方式。
  数据写顺序:redologdubblewritebuffer通用表空间指定表空间insertbuffer插入缓冲
  innodb使用insertbuffer欺骗数据库:对于为非唯一索引,辅助索引的修改操作并非实时更新索引的叶子页,而是把若干对同一页面的更新缓存起来做合并为一次性更新操作,转化随机IO为顺序IO,这样可以避免随机IO带来性能损耗,提高数据库的写性能。
  插入缓冲的配置all:默认值,缓存insert,delete,purges操作none:不缓存inserts:缓存insert操作deletes:缓存delete操作changes:缓存insert和delete操作purges:缓存后台执行的物理删除操作可以通过参数控制其使用的大小:innodbchangebuffermaxsize,默认是25,即缓冲池的14。最大可设置为50。当MySQL实例中有大量的修改操作时,要考虑增大innodbchangebuffermaxsize自适应哈希索引
  当缓冲池中的某个数据(17次)或者某个页(100次)经常被访问,达到一定频率的时候,Innodb会根据缓冲池中的数据自动构建一个hash索引,提高数据的访问速度,该索引称为自适应哈希索引。
  Innodb存储引擎会监控对表上二级索引的查找,如果发现某二级索引被频繁访问,二级索引成为热数据,建立哈希索引可以带来速度的提升
  经常访问的二级索引数据会自动被生成到hash索引里面去(最近连续被访问三次的数据),自适应哈希索引通过缓冲池的B树构造而来,因此建立的速度很快。
  哈希(hash)是一种非常快的等值查找方法,在一般情况下这种查找的时间复杂度为O(1),即一般仅需要一次查找就能定位数据。而B树的查找次数,取决于B树的高度,在生产环境中,B树的高度一般34层,故需要34次的查询
  篇尾寄语:
  技术赋能于业务,希望本篇文章让每一位读者有所收益。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
  如有不当的地方请多多计较,共同学习,共同进步,fighting。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
  祝所有编程爱好者,求职,加薪,迎娶白富美,走向人生巅峰。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

那些被外资收购的国民品牌我们曾经也有不少优秀的民族企业、民族品牌,但是在大浪淘沙中,一部分一跃冲天、做大做强,一部分则黯然落幕、惨遭外国人收购。哈尔滨啤酒哈尔滨啤酒算得上是国内啤酒市场历史……安倍走了,互联网炸锅了2022年7月8日,七七事变纪念日刚过去一天,就发生了一件令所有人无比震惊的事。7月8日,日本前首相安倍晋三在遭到枪击后,因伤势过重不治身亡,终年67岁。想必国内大……互联网这团浆糊,似乎越捣越烂了跌跌撞撞间,腾讯股价又破了300。阿里巴巴也是同样走势,离3月15日低点咫尺之遥。以至于段永平还特意问了句这是掉破发行价了?再联想下,二季度丘栋荣嘴上看好互联网,行……NASA局长称中国很可能占领月球,外交部回应7月4日,外交部发言人赵立坚主持例行记者会。记者会上,有记者问:据报道,美国国家航空航天局局长尼尔森日前接受德媒采访称,中国的太空计划是一个军事太空计划,很可能占领月球。中国偷……中非共和国(CAR)总统宣布将在7月3号开启加密中心Sang中非共和国(CAR)总统宣布将在7月3号开启加密中心Sango项目,旨在通过区块链技术的使用,使中非共和国CAR成为非洲最进步的经济体,开启该国向区块链投资花园的转型。图……37岁凤姐又炸眼球!考名校,选修高难度学科,你还敢讽刺她吗被你们遗忘的凤姐又出来炸眼球了!据可靠消息称,凤姐已经考上了纽约市立大学皇后学院,全美公立大学排名第8位,而且攻读的是微积分和生物学。12年前,那个被人笑掉大牙的征婚启事曾经红……地平线8号城市脉搏行李箱,让外出旅行有里有面无论是外出旅行还是商务出差,最离不开的就是行李箱了。因为我是经常需要外出旅行,所以一款好用且颜值高的行李箱对于我来说是十分必要的。首先来看看这是一款什么样子的行李箱。地平……全红婵26岁师兄求婚成功,退役安置体育局的谢思埸级别年薪如何因为全红婵、张家齐、陈芋汐三小只的存在,中国跳水梦之队如今是成绩和关注度双丰收,因为三小只,他们的师兄谢思埸也是受到了很多网友的关注。谢思埸出生于1996年,2012年,……小时候差点被父母卖掉,成名后为风月女神所累,温碧霞如何逆袭?《封神演义》中的苏妲己,对女演员来说,历来都是一个不小的挑战。由爱转恨的演技切换,足以让许多演员望而却步。再就是角色的体态容貌,要美得够艳,美得够妖。有些女演……车晓与李兆会离婚10年她单身让父母焦虑,他至今下落不明点击关注,每天都有名人故事感动您!车晓车晓是颜值演技俱佳的当红女星,主演了《沉默的证人》《大男当婚》《完美关系》《好先生》《有翡》《扫黑风暴》《满仓进城》《钻石王老……推动先进制造业现代服务业深度融合来源:经济日报先进制造业和现代服务业融合是顺应新一轮科技革命和产业变革,以及增强制造业核心竞争力、培育现代产业体系、实现高质量发展的重要途径。近年来,我国先进制造业和现代……脱发白发少白头,想要乌黑亮丽的头发?不妨试试这2个方法现在脱发、白发或者少白头的年轻人越来越多,成了很多人的困扰,该如何养护头发,也是大家日常生活中经常讨论的问题。(图片来源于网络,仅供参考)Q坊间传说的多吃黑色的食物……
最全JVM内存调优详解一、前提JVM性能调优牵扯到各方面的取舍与平衡,往往是牵一发而动全身,需要全盘考虑各方面的影响。在优化时候,切勿凭感觉或经验主义进行调整,而是需要通过系统运行的客观数据指……高高在上只有一种结局,李宁就是典型案例当一个品牌被推向大众舆论的高潮时,品牌应当如何回应?在当今时代,这个问题始终是大部分企业和品牌都在思索的问题。快节奏的网络化时代,任何的信息都会以极快的速度传播蔓延,当自身成为……广东省最大的民营企业,实力碾压华为腾讯美的比亚迪广东省最大的民营企业是谁?你绝对猜不到实力碾压华为腾讯、美的比亚迪的低调存在究竟是谁?先看看榜单:正威集团是什么?正威国际集团是由产业经济发展起来的以新……吃晚饭时,坚持喝点白酒的人,身体最后都怎样呢?医生告诉您真相导语:一直以来宴席上都在流传着无酒不成席的说法,如果大家都不喝酒那么聚餐就会变得无趣。没有那种其乐融融的气氛,所以人们在酒桌上都会发挥亮剑精神。你来我往的,喝上几口感情交……曾经1。25亿人买单的iPhone6s,即将成为下一代过时产前不久iPhone6以及6plus正式进入过时产品名单。这个苹果历史上首个屏幕达到5。5英寸的手机,也从今年开始正式被苹果给淘汰了。那么在iPhone6次年发布的6s系列……艺术品入局潮玩KK集团旗下潮玩集合品牌首发大师藏品中新经纬10月26日电近年来,艺术与潮玩的结合成为行业关注的热点。前有Qeelin麒麟珠宝主理人陈瑞麟(DennisChan)在KK集团旗下的潮玩集合品牌X11首发HAH……新能源汽车哪家强?中国市场看充电桩导语:新能源汽车的布局绝非一朝一夕,是长期、持续、高资金的投入。今天我们先不聊哪家汽车强,先和大家一起透过充电桩的发展,简单剖析一下未来新能源汽车竞争的强弱。一为什么要从……换机热潮买啥好?这块玉可以考虑一下元旦快到了,各家手机厂商的年货节也要开始了。不少小伙伴估计等着这个时候给自己换一部新手机,面对种类繁多的手机商品,不少朋友犯了愁。我感觉最近发布的vivoS16系列就是不错的考……12!李冠希被踢懵,郭田雨又坑克雷桑,郝伟再次托大被打爆北京时间11月21日,在山东泰山VS成都蓉城的比赛开始后,谁也没有想到山东泰山队的整体状态不佳,郝伟的这场比赛再次托大依然把7号郭田雨安排成了首发,按说郝伟安排李冠希首发是没有……盛京沈阳流水账盛京和奉天立这个题目其实有点矫情,在我坐着火车离开沈阳后才知道原来沈阳有个更老的名字叫盛京,也叫奉天。历史书上总能把某个地方描摹得曾经繁花似锦、沧桑斑驳,沈阳也不例外一朝……夏日的清晨那是一个凉夏的美丽清晨,我散步在田野中路过一个池塘,池塘里散发着一股难闻的异味,如此强烈,以至于让我差点昏倒在地。许多苍蝇在池塘边嗡嗡地飞舞着,我便稍微站远一点,仔细观察……小米13前瞻汇总中杯主打轻薄,大杯影像超小米12SU,值得期文小伊评科技小米下一代数字系列机型也就是小米13,其实早在一个月前就已经入网,整装待发,根据目前渠道内的消息,小米13有可能将会在2022年11月底,也就是本月底就会正式……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网