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

MySql索引下推知识分享

  作者:刘邓忠
  Mysql是大家最常用的数据库,下面为大家带来mysql索引下推知识点的分享,以便巩固mysql基础知识,如有错误,还请各位大佬们指正。1什么是索引下推
  索引下推(IndexConditionPushdown,索引条件下推,简称ICP),是MySQL5。6版本的新特性,它可以在对联合索引遍历过程中,对索引中包含的所有字段先做判断,过滤掉不符合条件的记录之后再回表,能有效的减少回表次数(目前我们使用的mysql版本较高,一般大家可能感觉这是正常的,但是mysql5。6之前都不是这样实现的,下面会细细道来)。1。1适用条件
  我们先来了解一下索引下推的使用条件及限制:只支持select。当需要访问全表时,ICP用于range,ref,eqref和refornull访问类型。ICP可用于InnoDB和MyISAM表,包括分区的InnoDB和MyISAM表。(5。6版本不适用分区表查询,5。7版本后可以用于分区表查询)。对于InnDB引擎只适用于二级索引(也叫辅助索引),因为InnDB的聚簇索引会将整行数据读到InnDB的缓冲区,这样一来索引条件下推的主要目的减少IO次数就失去了意义。因为数据已经在内存中了,不再需要去读取了。在虚拟生成列上创建的辅助索引不支持ICP(注:InnoDB支持虚拟生成列的辅助索引)。使用了子查询的条件无法下推。使用存储过程或函数的条件无法下推(因为因为存储引擎没有调用存储过程或函数的能力)。触发条件无法下推。(有关触发条件的信息,请参阅官方资料:Section8。2。2。3,OptimizingSubquerieswiththeEXISTSStrategy。。)1。2原理介绍
  首先,我们大致回顾下mysql的基本架构:
  MySQL基本的架构示例图
  MySQL服务层主要负责SQL语法解析、生成执行计划等,并调用存储引擎层去执行数据的存储和查询。
  索引下推的下推其含义就是指将部分上层(服务层)负责的事情,交给了下层(引擎层)去处理。
  在MySql5。6版本之前没有索引下推这个功能,从5。6版本后才加上了这个优化项。我们先简单对比一下使用和未使用ICP两种情况下,MySql的查询过程吧。
  1)未使用ICP的情况下:
  存储引擎读取索引记录;
  根据索引中的主键值,定位并读取完整的行记录;
  存储引擎把记录交给Server层去检测该记录是否满足WHERE条件。
  2)使用ICP的情况下:
  存储引擎读取索引记录(不是完整的行记录);
  判断WHERE条件部分能否用索引中的列来做检查,条件不满足,则处理下一行索引记录;
  条件满足,使用索引中的主键去定位并读取完整的行记录(就是所谓的回表);
  存储引擎把记录交给Server层,Server层检测该记录是否满足WHERE条件的其余部分。
  2具体示例
  上面介绍了基本原理,下面使用示例,带大家更直观的进行理解(注:以下示例基于InnoDB存储引擎。)
  首先,我们新建一张用户表(jxcuser),设置id为主键索引,并创建联合索引(name,age)。
  我们先看一下该表主键索引的大致结构示例:
  主键索引结构示例图
  然后我们再看一下该表联合索引的大致结构示例:
  联合索引结构示例图
  如果现在有一个需求,要求检索出表中名字第一个字是张,而且年龄等于10岁的所有用户。示例SQL语句如下:selectid,name,age,tel,addrfromjxcuserwherenamelike张andage10;
  根据索引最左匹配原则,上面这个sql语句在查索引树的时候,只能用张,查到第一个满足条件的记录:id为1。
  那接下来我们具体看一下使用与未使用ICP的情况。2。1未使用ICP的情况
  在MySQL5。6之前,存储引擎根据联合索引先找到namelike‘张’的主键id(1、4),再逐一进行回表扫描,去聚簇索引找到完整的行记录,返回server层,server层拿到数据后,再根据条件age10对拿到的数据进行筛选。大致的示意图如下:
  从上图,可以看到需要回表两次,存储引擎并不会去按照age10进行过滤,相当于联合索引的另一个字段age在存储引擎层没有发挥作用,比较浪费。2。2使用ICP的情况
  而MySQL5。6以后,存储引擎会根据(name,age)联合索引,找到namelike‘张’,由于联合索引中包含age列,所以存储引擎直接再联合索引里按照条件age10进行过滤,然后根据过滤后的数据再依次进行回表扫描。大致的示意图如下:
  从上图,可以看到只是id1的数据,回表了一次。
  除此之外我们还可以看一下执行计划,看到Extra一列里Usingindexcondition,就是用到了索引下推。
  3控制参数
  Mysql索引下推功能默认是开启的,可以用系统参数optimizerswitch来控制是否开启。
  查看状态命令:
  selectoptimizerswitch;
  关闭命令:setoptimizerswitchindexconditionpushdownoff;
  开启命令:setoptimizerswitchindexconditionpushdownon;4总结
  回表操作:当所要查找的字段不在非主键索引树上时,需要通过叶子节点的主键值去主键索引上获取对应的行数据,这个过程称为回表操作。
  索引下推:索引下推主要是减少了不必要的回表操作。对于查找出来的数据,先过滤掉不符合条件的,其余的再去主键索引树上查找。5参考文献https:dev。mysql。comdocrefman5。6enindexconditionpushdownoptimization。htmlhttp:mysql。taobao。orgmonthly20151208

常见癌症有哪些生活习惯易引发癌症癌症这是个令人类可怕的字眼,当大家听到这个字眼的时候难免会有一些忌惮,一旦得了癌症那便是痛苦的开始,但是及时发现认真治疗癌症并不是不可抗拒的,当然在现实生活中我们还是应该注意如……ROEHL推出首款自主研发的Madeleine空气净化器近期,ROEHL推出首款自主研发的产品Madeleine空气净化器。据第三方碳足迹计算机构《碳阻迹》的报告显示:以25年为期,Madeleine空气净化器的平均碳排放量较……谷爱凌时尚感爆棚!穿LV拍大片比代言人刘亦菲还霸气,混血脸绝近日,著名奢侈品牌LV推出了自家的新品,为了更好的宣传,还特意邀请了娱乐圈中一众美来进行宣传,从曝光的这组大片中,我们可以很明显的感受到,这一次LV的设计抛弃了以往繁杂的元素,……家中药品如何分类剩药大清仓平常我们生点病便会习惯性的去拿点药吃,而没吃完的药便被一直搁放在那了,那么这些吃不完的药应该如何处理了,大多数的民众都是一堆药放家中有的都已经过去几年之久,为了大家的健康与良好……喂奶时体温37度最适宜对于刚出生不久的婴儿是每个妈妈的心头肉,从生活中的每一个细节中都希望尽可能的呵护孩子,那么作为母亲你知道哺乳时自己的体温也将决定着孩子的潜在健康,而根据实验得知,37度将最为适……衣服上染上了苋菜汁怎么办?衣服上的苋菜汁怎么洗掉?我们都知道,苋菜是一种非常有意思的菜,在食用和炒制的过程中会有苋菜汁溢出,为红色或者紫红色。衣服上染上了苋菜汁怎么办?衣服上的苋菜汁怎么洗掉?衣服上染上了苋菜汁怎么办……淋浴喷头水锈怎么清洗?卫生间的污垢要怎么清洗?家中的东西用久了就会有各种污垢不好清洗,特别事洗手间,这些点滴的污垢很影响我们的美观,那这些污垢要怎么清洗,那我们就一起来看看,这些污垢怎么样,有什么好办法来清洗。淋浴喷……你还在喝这种饮料吗?危害居然这么大夏天天气热的时候,就想要一瓶冰镇可乐,一口灌下去,感觉整个世界都凉快了不少。冬天空调房里,干燥的空气让人心烦意乱,这时候要是能有一瓶可乐,绝对比什么灵丹妙药都管用。可乐虽……宇宙奇观来自哈勃望远镜的名为IC2431的图像没有什么是丰富的,而是大自然取之不尽、用之不竭的财富。她只向我们展示了表面,但她深不可测。拉尔夫沃尔多爱默生由于哈勃望远镜在2……春节期间兼职好找吗过年可以做什么兼职春节期间很多人都不回家,那么就有不少小伙伴想去做兼职,既充实又可以赚到钱。那么春节期间兼职好找吗,有什么可以在春节做的兼职吗。春节期间兼职好找吗春节期间找兼职好不好找要根……福原爱给横滨男情书曝光!婚内暧昧最喜欢你笑容逼怒正宫记者陈芊秀综合报导日本桌球名将福原爱离婚后仍风波不断,日前被拍到和横滨男展开新恋情,男方前妻B小姐向素有文春炮之称的《周刊文春》指控她说谎。她写给横滨男的情书内容也因此曝……哪些地方的福字要正着贴福字怎么贴才正确一到大年三十,家家户户就会开始贴春联和福字,福字的贴法有很多种,但是讲究也非常多,有些地方的福字是千万不能倒着贴的,你知道福字怎么贴才正确吗。哪些地方的福字要正着贴大门福……
秦晓雯快哭了,雅尼斯误人子弟,张才仁终于等到了,感谢解立彬秦晓雯快哭了,雅尼斯误人子弟,张才仁终于等到了,感谢解立彬的信任。CBA常规赛前三轮的比赛已经正式落下帷幕,各支球队的实力也基本上得到了考量,除了宁波富邦仍旧难求一胜以外,本赛……广东有一座海滨城市,就在大湾区与潮汕地区之间,却没什么存在感这里是刘小顺的旅行和生活研究所。广东省位于我国的华南地区,经济发达、资源丰富,还有很多著名的大城市,比如我们都很熟悉的广州、深圳、潮州、汕头等等。实际上,在广东省的……怎样判断是否出现了阿尔茨海默病认知障碍的症状呢?应该如何预防如果身体出现了以下这5种表现:1。记忆力减退;2。注意力下降;3。行动力迟缓;4。反应力降低;5。语言表达差,就要怀疑是否出现了轻度认知障碍,轻度……最幸福的早茶之都,不在广东?在中国这个能把早餐拍个一百集纪录片的地方,要以早茶闻名,并不容易。是的,江苏泰州,却还是能因为早茶而出了名。泰州美食。图源:泰州发布十篇旅游攻略里……汇聚宝安创新活力!第九届宝安创新创业大赛圆满落幕11月15日,由深圳市科技创新委员会指导,宝安区人民政府主办,宝安区科技创新局承办的第十四届中国深圳创新创业大赛宝安预选赛暨第九届深圳宝安创新创业大赛(简称宝创赛)颁奖典礼在深……进展摩尔超晶格体系在半填充时的奇异量子输运行为基于半导体过渡金属硫族化合物的摩尔超晶格为研究二维电子体系中的关联效应提供了新的平台。近年来,研究人员在实验中观测到此类体系中存在着摩尔激子,莫特绝缘态、广义魏格纳晶体、量子反……仙子一枝花头条作者云开日初仙子一枝花烂漫粉嫩浣沙下凡间惊鸿一瞥乱心曲亦真亦幻梦里颠头条作者云开日初在亦真亦幻的梦里,看到了翩翩下凡的仙子,一个个美貌如……关于中年女性保养,47岁的我掏心窝告诉你10句大实话!看看不作为一个47岁的美妆从业者,本人很幸运能有一个引以为傲的卖点:就是快50岁的人了,经常被人夸长得年轻,气质好。当然,现在谁平时发个图还不来点美颜,我承认我脸上的皮肤其实称……查自己的基因,看我们祖先从哪里来现代中国人到底从哪里来?现代基因科学技术给我们提供了准确的答案。父系YDNA可以精准地显示,我们和谁更接近,在历史长河中,我们和哪些民族融汇过,而哪些民族和我们有着不可否定的渊……科蓝软件与华为建立了多层次的深度合作中证网讯(记者董添)11月9日,记者从科蓝软件获悉,公司与华为建立多层次的深度合作,并在行业内实施了越来越多的成功案例。未来,科蓝软件与华为的进一步合作将为市场带来更大的创新变……11位被爹妈强捧的星二代,有的有演技,有的却辣眼睛文娱情故纵编辑娱情故纵前言这些年随着娱乐圈的状况百出,广电对于圈内的各种现象也进行了不断地整治,其中尤其是针对星二代凭借父母登上节目获取流量这个事情,更是出台了明确……矢野浩二把回国当出差,把中国当挚爱故乡的国民好女婿近日,日本男星矢野浩二更新了社交状态,并配文这真是天大的好消息。视频中,矢野浩二非常激动地大喊:通过了,汉语水平考试通过了。当他举着成绩单时,看得出来他是发自内心地……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网