范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Mysql索引覆盖

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

波波维奇卸任后,不再尴尬的小卡会不会打世界赛?反正库里是稳了波波维奇是真的老了,马刺重建之路相当漫长,短时间内无法成为争冠强队已成定数,面对这种复杂局面,美国男篮决定不再聘请波波维奇作为梦之队的主教练,改用科尔上位执教。其实梦之队换帅的结局欧文这事,篮网的最佳选择是交易图片来源网络欧文这事,篮网现在可以说是进退两难。说交易吧,欧文现在的状态,综合疫苗性格和合同等多重因素,说实话交易价值并没有太大,也不可能换得回全明星级别的球员,普通球星怕也会带有冲击全明星?嘴哥本赛季为何会崛起?看看他的合同续约就知道了赛季已经过去四分之一,金州勇士取得了联盟第一的优异成绩。而在其中安德鲁维金斯在攻防两端都做出了突出贡献,并频频在比赛中提供亮眼表现。随着球队战绩优异,个人表现又有所成长,维金斯本赛国足金哨陆俊被抓,承认收35万帮上海申花夺冠,入狱4年满头白发中超联赛在12月12日正式重燃战火,而接下来有关裁判的执法问题又会成为球迷们关注的焦点。笔者不免想起了当年中国足球的第一金哨陆俊,他当年的执法给大家留下了深刻的印象。国足金哨陆俊被北京一峡谷景区走红,坐拥广阔的湖面各异的深潭,适合自驾前往北京一峡谷景区走红,坐拥广阔的湖面各异的深潭,适合自驾前往有的人喜欢旅游是为了欣赏自然美景,有的人喜欢旅游是为了远离城市的喧嚣,寻找一片宁静,还有的人喜欢旅游是为了找寻惊险刺激。在浙江又一景区遭受冷眼,因物价太高,导致客流量十分稀少说起浙江,大家可能都会想到境内的美景,的确,江浙地区的江南风景,是我国最美的风景之一,每年这里都能吸引来大批游客到此观光,可是随着浙江旅游业的持续升温,很多景区的商业化也愈加严重了美丽的格桑花在祖国的蓝天下竞相绽放大千世界,林林总总的花花草草,我独爱格桑花!格桑为藏语,意即美好时光之意。传说在一般在春夏之交的雪域高原上,每年都会有一个璀璨的好季节。在这个季节里,风姿绰约的八瓣格桑花儿就会如约打卡万峰林景区时间过得真快寒风刺骨的冬日就要结束了,不知不觉春风已拂面,大家都在期待着春天的温暖到来,人生总会有起起落落,但在你最无助的时候不要放弃,熬过寒冬后便是春暖花开。冬天,是个严冷的季节辽宁三线小城发现一座原生态景区,远离城市喧嚣,回归田野的静谧在城市里住久了的人,都会厌倦城市里的喧嚣,整日奔波劳碌,勤勤恳恳,游走于城市的各个角落,却总与这个城市格格不入,找不到归属感。在城里住惯的人,或多或少都会有一个花园梦,放下为生存而河南一定要去的景区,云台天瀑单级落差314米,被誉华夏第一高瀑河南一定要去的景区,云台天瀑单级落差314米,被誉为华夏第一高瀑当广大游客选择外出地点的时候,每个人的喜好选择都各不相同。有的游客希望可以看到很多秀美的自然山水,有的游客希望可以看旅游景区景观视觉如何呈现旅游景区设计蓝海文旅旅游景区视觉设计是针对眼睛功能的主观形式的表现手段和结果。视觉设计是一个景区最基本的设计,视觉设计是研究景观,是以观为主体。(1)建筑景观建筑景观应该比较丰富,但又要和谐统
一群中国芯片技术小球的奋斗故事系列一中科融合AI3D芯片追赶美国TI的DLP技术之产业和技术初探partI引子2015年春天,洛杉矶的中国大剧院冠盖云集,又是一年一度的奥斯卡颁奖礼,这一年美轮美奂的布达佩斯大饭店输给ELLE在专访MAXRIENY创始人王思元女士我的心是万花筒ELLE在活动现场专访到了MAXRIENY创始人王思元女士,与她聊关于品牌的创立本季系列的设计灵感个人发展经历等话题。ELLE我看到你曾经是金融硕士,后来做的时尚。请问是什么契机让又有人盯上卡地亚了,这次是LV和蒂芙尼的母公司记者黄姗编辑楼婍沁法国高级珠宝品牌卡地亚Cartier又被资本盯上了,而这次想要收购它的是全球第一大奢侈品巨头法国LVMH集团。2月21日,瑞士商业新闻报刊FinanzundWir做到炒不动为止!武汉小雷炒饭25年不躺平在汉口惠济一路有一家深夜食堂小雷炒花饭,每天下午5时许开门,一直到凌晨1时,食客往来不绝,很多人排长队。小雷在这个小店专注各种炒花饭,从不上外卖平台,25年如一日。娶妻生子买房有车2023年水翼帆板世界杯签约落地深圳盐田来源读特2月28日,2023年水翼帆板世界杯(深圳站)暨水翼帆板亚洲锦标赛赛事筹备启动仪式在大梅沙国际水上运动中心举行。中国帆船帆板运动协会副秘书长竞赛部部长王佳鑫,深圳市盐田区文武汉市民打卡网红郁金香发现被照骗以为是花海其实只有一小堆,还有很多花朵被摘了近日解放公园郁金香火了,不少人看了花海照片后特意前来打卡拍照。游客说,网上看郁金香以为是一大片的花海,没想到只有一小撮,有的花还被摘了。不过网上的照片虽然是有调色修图过的,但是现实一喝水就尿多,代表肾脏好还是不好?看完这4点,或许就明白了水是生命之源,水占人体的6075左右,喝水可以促进身体新陈代谢,清除体内的有害毒素,增强免疫力。此外,多喝水可以改善血液循环,人可以三天不吃饭,但不能三天不喝水。水进入人体以后,经山东国资国企加速迈向高质量发展对标一流质效打造优势产业集团山东国资国企加速迈向高质量发展作为国资大省,在疫情冲击和艰巨的改革发展任务面前,2022年山东国资国企发展质效如何?各项改革任务有哪些进展?今年山东又将好品山东在枣庄好品里读懂枣庄枣庄是山东的南大门,中国北方锂电之都是它最靓丽的名片之一,京杭大运河途经此处,北辛文化运河文化历经千年长盛不衰。这就是枣庄,一个牢记嘱托,勇担使命奋力谱写崭新篇章的城市。近年来,以陈戌源被抓17天,扬科维奇在五星级酒店训话国足带队冲进世界杯中国体坛近期陷入麻烦中,先是足坛的陈戌源李铁刘奕陈永亮等足坛大佬被带走调查,而进入3月份,篮球界也有大动静,新疆男篮退出CBA联赛,周琦和新疆队再次开撕,不知道篮坛扫黑什么时候进行不负春光!2月PMI终于重返景气区间盼望着盼望着,春天的脚步近了,制造业欣欣然睁开了眼。今天发布的2月份制造业采购经理指数PMI春意暖暖,52。6的数字环比上升了2。5个百分点,已经高于50的临界点,制造业重返景气区