专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

Mysql索引覆盖

  作者:京东零售孙涛1。什么是覆盖索引
  通常情况下,我们创建索引的时候只关注where条件,不过这只是索引优化的一个方向。优秀的索引设计应该纵观整个查询,而不仅仅是where条件部分,还应该关注查询所包含的列。索引确实是一种高效的查找数据方式,但是mysql也可以从索引中直接获取数据,这样就不在需要读数据行了。覆盖索引(coveringindex)指一个查询语句的执行只需要从辅助索引中就可以得到查询记录,而不需要回表,去查询聚集索引中的记录。可以称之为实现了索引覆盖。在mysql数据库中,如何看出一个sql是否实现了索引覆盖呢?
  从执行计划看,Extra的信息为usingindex,即用到了索引覆盖。2。覆盖索引为什么快
  innodb存储引擎底层实现包括B树索引和哈希索引,innodb存储引擎默认的索引模型结构是B树,所以大部分时候我们使用的都是B树索引,因为它良好的性能和特性更适合于构建高并发系统。根据索引的存储方式来划分,索引可以分为聚簇索引和非聚簇索引。聚簇索引的特点是叶子节点包含了完整的记录行,而非聚簇索引的叶子节点只有索引字段和主键ID。非聚簇索引中因为不含有完整的数据信息,查找完整的数据记录需要回表,所以一次查询操作实际上要做两次索引查询。而如果所有的索引查询都要经过两次才能查到,那么肯定会引起效率下降,毕竟能少查一次就少查一次。
  覆盖索引就实现了从非聚簇索引中直接获取数据,所以效率会提升。
  3。SQL优化场景(1)无where条件
  请看下面的sql
  执行计划中,type为ALL,代表进行了全表扫描,扫描行数达到了26274308,所以执行时间为9。25秒,也是正常的。
  那么如何优化?优化措施很简单,就是对查询列建立索引。如下,
  altertableinstancespacehistoryaddindexidxorg1(org1);看添加索引后的执行计划
  Possiblekeys为null,说明没有where条件时优化器无法通过索引检索数据;
  但是看extra的信息Usingindex,即从索引中获取数据,减少了读取的数据块的数量。
  在看实际优化效果,扫描行数没变,但是使用了覆盖索引,查询时间从9。25秒缩短到5。67秒。思考:无where条件的查询,可以通过索引来实现索引覆盖查询。但前提条件是,查询返回的字段数足够少,更不用说select之类的了。毕竟,建立keylength过长的索引,始终不是一件好事情。(2)where条件区分度低
  使用区分度极低的字段作为where条件的查询SQL,对于dba或者研发人员优化一直是比较头疼的问题,这里介绍一种思路,就是通过索引覆盖来优化。tmaterialimage是一张8亿多数据的大表,where条件的materialtype字段区分度很低,下面是没加任何索引的执行计划和查询时间(7。35秒)。
  最容易想到的优化方式,就是给where条件的字段加索引,添加索引语句如下:altertabletmaterialimageaddindexidxmaterialtype(materialtype);
  再来看执行计划
  通过执行计划和测试结果看,的确是有效果的,但是走索引后的查询效率依然不能满足我们期望。然后试着给materialtype,materialid添加联合索引。altertabletmaterialimageaddindexidxmaterialidtype(materialtype,materialid);
  从这个sql的执行计划看,出现Usingindex,实现了索引覆盖;再看执行时间,性能得到了巨大的提升,居然已经可以跑到0。85s左右了。
  思考:
  当where条件字段区分度低(过滤性差),且where条件与查询字段总数较少的情况下,使用索引覆盖优化,是个不错的选择。(3)查询仅选择主键
  对于Innodb的辅助索引,它的叶子节点存储的是索引值和指向主键索引的位置,然后需要通过主键在查询表的字段值,所以辅助索引存储了主键的值。如果查询所选择的列只有主键,应该考虑通过索引覆盖优化。看下面的两个sql,字段pin和completiontime有联合索引,where条件差别只有commentvoucherstatus0,但是执行时间差距巨大(第一个sql0。58s,第二个sql0。2s),为什么呢?是不是很困惑
  我们来看执行计划,主要差别体现在extra,第一个sql用到Usingindexcondition,而第二个sql用到Usingindex,因为pin和completiontime有联合索引,而且查询结果只选择了主键id,所以第二个sql覆盖了所有的where条件字段和查询结果选择字段,故实现了索引覆盖。思考:
  当查询字段只有主键时,更容易实现索引覆盖,因为索引只要覆盖where条件,就可以实现索引覆盖。4。总结与建议
  索引的核心作用:(1)通过索引检索仅需要数据(2)从索引中直接获取查询结果索引覆盖的条件:(1)Select查询的返回列包含在索引列中(2)有where条件时,where条件中要包含索引列或复合索引的前导列(3)查询结果的总字段长度可以接受

高管KD已厌倦篮网闹剧没见过谁像他那样被绿军击败后毫无反应直播吧6月23日讯据此前报道,欧文和篮网的谈判陷入僵局,有观点认为这是双方的杠杆游戏。据Heavy记者SeanDeveney报道,联盟内部人士想知道这将在何种程度上影响杜兰特。一位盘点古代功高震主最后却得以善终的良臣名将都说功高震主,古代的良臣名将中有哪些最后得以善终的。勇略震主者身危,功盖天下者不赏明朝开国第一功臣徐达深得朱元璋信任,得以善终。而朱元璋不杀徐达,还将他列为开国第一功臣的原因,朱元续!都能续!骨王回归,深渊再现!2022七月新番推荐(续作篇)Hello,米娜桑。辞旧迎新,被史密斯夫妇统治了整整三个月的四月新番即将落下帷幕。和新作扎堆,仿佛各个都颇具黑马气质的春季档不同,这个七月可谓是新作已死,续作当立,不说什么秽土转生同样是演毛泽东,把侯京健唐国强和古月放在一起看,差别就出来了近期热播的数风流人物中,侯京健饰演的毛泽东受到了观众很大的关注。这并不是侯京健第一次饰演毛主席,前两年他在年度大剧觉醒年代里的演技受到了观众们的好评。尤其是他在剧中第一次出场的一幕白月光公然挑衅我,我挥拳相向!他护短扔来一纸协议我要休了你第一章今日,我很抱歉!我由淑女,变为了泼妇!因为,今日我领着两个好朋友去找她了。我们把她的家给掀了,把她的头发给扒拉掉一小撮,把我老公给她买的昂贵服饰,还有名牌包包通通都抢了回来。巴西37岁女子嫁给了大布娃娃,新婚之夜美好,迅速怀孕生了娃一位名叫梅丽翁罗恰莫拉斯(MeirivoneRochaMoraes)的巴西女子,近来成为了社交媒体上的热门人物,这源于她所拥有的奇特婚姻,梅丽翁的丈夫是一个大布娃娃。据每日邮报当地深扒唐山打人者陈继志,曾在澳门赌场当叠码仔,开赌场涉案过亿深扒唐山打人者陈继志,曾在澳门赌场当叠码仔,开赌场涉案过亿2022年,也就是这一年,陈继志和几个朋友在老汉烤肉店烧烤,于是全国各地发生了著名的唐山打人事件。据悉,当晚打完电话的陈继唐山事件看5大反杀,老实人一怒血流成河,恶人顿时屁滚尿流天狂必有雨,人狂必有祸!唐山恶人为非作歹的结局,早就被古人言中,一语成谶。唐山的这群恶男,性骚扰女孩被拒,就恼羞成怒地暴打无辜女孩,以至于引发了席卷全国的谴责声浪。虽然唐山这几个弱红码事件责任人现在的处分有多重?会被开除吗?今天,郑州村镇银行储户被赋红码的时间终于有了一个暂时性的结果。6月22日,郑州市纪委监委通过官方公众号发布了关于部分村镇银行储户被赋予红码问题调查问责情况的通报,其中多名干部被处分立陶宛,俄乌冲突的下一个引爆点立陶宛,俄乌冲突的下一个引爆点原创明叔杂谈明叔杂谈202206230723发表于北京立陶宛声称,为了执行欧盟对俄罗斯的制裁,已经禁止俄罗斯通过立陶宛向俄罗斯飞地加里宁格勒运输钢铁混晨起睡觉时的4种表现,或是肾在求救!牢记养肾三字诀22岁的小谭从小就比较挑食,特别是上了大学以后,没有了父母的监督,挑食毛病就更加严重。而且平时还总吃一些麻辣烫烧烤类的垃圾食品,外加上生活习惯也比较差,经常熬夜到两三点,导致她的身
考特尼李12年职业生涯签了3份合同,小李飞刀去哪里了?小李飞刀考特尼李考特尼李,1985年出生于美国印第安纳州,2008年首轮第22顺位被魔术队选中,12年职业生涯先后效力于魔术篮网火箭凯尔特人灰熊黄蜂尼克斯和独行侠等球队,因三分精准狂野西部真疯狂!湖人5连胜坐收大礼,勇士又躺进前六,库里复出NBA联盟每个赛季都会有年轻阵容超级崛起,同时也会有超级冲冠强队跌下神坛。本赛季,鹈鹕队骑士队和国王队相继超级崛起,同时,快船队和太阳队这两支超级冲冠强队则开始走下神坛。狂野的西部聊聊CookieSessionToken背后的故事本文分享自华为云社区CookieSessionToken背后的故事云社区华为云,作者龙哥手记。1。网站交互体验升级作为网友的我们,每天都会使用浏览器来逛各种网站,来满足日常的工作生四十年间为爱发电,邓璐时间4对话刘金成文羊城晚报全媒体记者艾修煜图节目组广东卫视纪录片式高端访谈节目邓璐时间第四季对话未来,1月8日(周日)晚910将播出第四期,主持人邓璐,对话亿纬锂能股份有限公司董事长刘金成。作为全沃顿能长时间开无双的除了科比和库里就是米切尔了直播吧1月7日讯骑士助教前勇士教练前湖人球员卢克沃顿在近期的一次采访中聊到了米切尔的71分表演。看到优秀的球员进入无敌状态是很酷的事情。沃顿说道,我还是球员的时候,如果进入了状态,鱼腩翻身的童话故事再度上演同曦半程总结以及成绩预测先来看看本赛季半程过后的积分榜,南京同曦12胜10负,高居第八位。场均得分102。18排第三,场均失分101。91排倒数第五,典型的攻强守弱队伍!而上赛季的CBA联赛同曦2胜36负一线故事爱拍鸟的王国忠青海新闻网大美青海客户端讯冬日,静谧的祁连山国家公园。山林深处,天朗气清,各类鸟儿在这里自由翱翔嬉戏,王国忠躲在隐蔽的山石后,专注地为觅食的鸟儿们拍照。早晨鸟儿觅食忙,比较难拍,到哈里王子的爱情故事一众名老女人,个个美过梅根在哈里王子的单身时代,这位苏塞克斯公爵很受女士们欢迎的,他混在他能独享的圈子中,与许多名人女性发生劲爆的关系。神秘的老女人夺走了他的第一次哈里在他的回忆录备用中,大量的描绘了他的青再也不错过出发时间,Petal出行智能提醒超贴心,全天候智能管家!作为一个经常出差的打工人来说,都会伴随着出行焦虑或者记错时间,忘记出发行程导致没赶上飞机或者飞机也是屡见不鲜。一直以来都想找到一款既能够提醒又足够智能的出行助手,直到我发现了华为的苹果电池服务费增加,小米11售后时间增至三年,还是国产香最近苹果这边宣布新规,将从2023年3月1日开始,iPhone14系列之前的机型,保外电池服务费用全部增加169元。不是增加到,是增加了,在原有基础上还增加了169元,例如iPho时间的告白113阿令忍了几天,都没有发声,他倒是想啊,关键是他站位的话,极有可能是火上浇油过了两天,这个热搜始终霸屏,阿令实在看不下去了,他的女孩他疼她都来不及,老是被你们无事生非,怎么行!他还是
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网