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

听说你对explain很懂?

  explain所有人都应该很熟悉,通过它我们可以知道SQL是如何执行的,虽然不是100%管用,但是至少大多数场景通过explain的输出结果我们能直观的看到执行计划的相关信息。
  早一些的版本explain还只能查看 select 语句,现在已经能支持delete ,update ,insert ,replace 了。
  刚开始我想写这个的时候只是因为这个东西经常性不用就忘记,写了发现其实这个东西真的挺麻烦的,要把每个场景都整出来麻烦的很。  id
  查询编号,如果没有子查询或者联合查询的话,就只有一条,如果是联合查询的话,那么会出现一条id为null的记录,并且标志查询结果,因为 union 结果会放到临时表中,所以我们看到这里的表名是这种格式。
  select_type
  关联类型,决定访问表的方式。
  SIMPLE
  简单查询,代表没有子查询或者 union 。
  PRIMARY
  如果不是简单查询,那么最外层查询就会被标记成PRIMARY。
  UNION&UNION RESULT
  从上图可以看出来了,包含联合查询,第一个被标记成了 PRIMARY ,union之后的查询被标记成UNION ,以及最后产生的UNION RESULT
  DERIVED
  用来标记出现在from里的子查询,这个结果会放入临时表中,也叫做派生表。
  这个对于低版本的Mysql可能显示是这样的,高一点可能你看到的还是PRIMARY,因为被Mysql优化了。我换一个版本的Mysql和SQL执行可以验证到这个结果。
  SUBQUERY
  不在from里的子查询。
  DEPENDENT
  代表关联子查询(子查询使用了外部查询包含的列),和 UNION ,SUBQUERY 组合产生不同的结果。
  UNCACHEABLE
  代表不能缓存的子查询,也可以和 UNION ,SUBQUERY 组合产生不同的结果。
  MATERIALIZED
  物化子查询是Mysql对子查询的优化,第一次执行子查询时会将结果保存到临时表,物化子查询只需要执行一次。
  比如上述DERIVED就是物化的一种体现,与之对应的就是DEPENDENT,每次子查询都需要重新调用。
  这个结果无法直观的看出来,可以用 FORMAT=JSON 命令查看materialized_from_subquery 字段。
  table
  显示表名,从上述的一些图中可以观察到UNION_RESULT和DERIVED显示的表名都有一些自己的命名规则。
  比如UNION_RESULT产生的是,DERIVED产生的是。  partitions
  数据的分区信息,没有分区忽略就好了。  type
  关联类型,决定通过什么方式找到每一行数据。以下按照速度由快到慢。
  system>const>eq_ref>ref>fulltext>ref_or_null>index_merge>unique_subquery>index_subquery>range>index>ALL。
  system&const
  这通常是最快的查找方式,代表Mysql通过优化最终转换成常量查询,最常规的做法就是直接通过主键或者唯一索引查询。
  而system是const的一个特例(只有一行数据的系统表),随便找一张系统表,就插入一条数据就可以看到system了。
  eq_ref
  通常通过主键索引或者唯一索引查询时会看到eq_ref,它最多只返回一条数据。 user_id 是唯一索引,为了测试就关联以下主键索引。
  ref
  也是通过索引查找,但是和eq_ref不同,ref可能匹配到多条符合条件的数据,比如最左前缀匹配或者不是主键和唯一索引。
  最简单的办法,随便查一个普通索引就可以看到。
  fulltext
  使用FULLTEXT索引
  ref_or_null
  和ref类似,但是还要进行一次查询找到NULL的数据。
  这相当于是对于IS NULL查询的优化,如果表数据量太少的话,你或许能看到这里类型是全表扫描。
  index_merge
  索引合并是在Mysql5.1之后引入的,就像下面的一个OR查询,按照原来的想法要么用name的索引,要么就是用age的索引,有了索引合并就不一样了。
  对于这种单表查询(无法跨表合并)用到了多个索引的情况,每个索引都可能返回一个结果,Mysql会对结果进行取并集、交集,这就是索引合并了。
  unique_subquery
  按照官方文档所说,unique_subquery只是eq_ref的一个特例,对于下图中这种 in 的语句查询会出现以提高查询效率。
  由于Mysql会对select进行优化,基本无法出现这个场景,只能用update这种语句了。
  index_subquery
  和unique_subquery类似,只是针对的是非唯一索引。
  range
  看名字就知道,范围查询,其实就是带有限制条件的索引扫描。
  常见的范围查询比如 between and ,>,<,like,in 都有可能出现range。
  index
  跟全表扫描类似,只是扫表是按照索引顺序进行。
  ALL
  全表扫描,没啥好说的。  possible_keys
  可以使用哪些索引。  key
  实际决定使用哪个索引。  key_len
  索引字段的可能最大长度,不是表中实际数据使用的长度。  ref
  表示key展示的索引实际使用的列或者常量。  rows
  查询数据需要读取的行数,只是一个预估的数值,但是能很直观的看出SQL的优劣了。  filtered
  5.1版本之后新增字段,表示针对符合查询条件的记录数的百分比估算,用rows和filtered相乘可以计算出关联表的行数。  Extra
  解析查询的附加额外信息,这个太多了,有兴趣可以自己看官方文档,只列举一些常见的。
  Using index
  使用覆盖索引。
  Using index condition
  使用索引下推,索引下推简单来说就是加上了条件筛选,减少了回表的操作。
  Using temporary
  排序使用了临时表。
  Using filesort
  使用外部索引文件排序,但是不能从这里看出是内存还是磁盘排序,我们只能知道更消耗性能。
  Using where
  where过滤,没啥好说的。
  Zero limit
  除非你写个LIMIT 0。
  Using sort_union(), Using union(), sing intersect()
  使用了索引合并,参看上文。  总结

谨言慎语德云社内部各种复杂的人物关系,想不到呀一百七十八章谨言慎语德云社内部各种关系,想不到呀!中国社会是个人情社会,人情社会说到底就是个圈子文化,这一点在各个行业都表现出来。比如,在东北一些大厂,可能一家三代四代都在这个厂里老杜带货卖厨具爆单,网友评论爆棚,品牌商连忙发声明撇清关系受田静直播带货的启发,错换案双方关联人纷纷开启直播带货模式错换人生案以其悲凉荒诞且狗血的剧情和讳莫如深的背景,吸引了亿万网民的眼球,原本默默无闻生活在社会底层的当事双方,因为案件的杜郭熊决定再次联手状告淮医和许敏,网友这次不会又放鸽子吧?状告淮医获胜,杜郭熊告状上瘾今年2月份,姚策和老杜夫妇状告淮医获胜,医院赔偿了他们100多万元,老杜心想着郭威虽然认回了亲妈,但毕竟他的家在驻马店,还是自己的养子,28年的养育之恩郭德纲捯饬的菜园鼓捣的美食及养生之道一百四十三章郭德纲捯饬的菜园鼓捣的美食及养生之道2015年2月28日,郭德纲微博发文月落星稀,名利人睡不熟。热闹场中花似锦,奔走在江湖。我门前无车马喧,惟有松鹤鹿,强如羊伴虎,侥幸三石直播带货卖瓷器,瓷商百年品牌不能毁,求熊姑娘放一条生路熊姑娘高调宣布直播带货卖景德镇瓷器,欲与田静在直播带货领域比高低国庆前夕,熊姑娘在直播中宣布,准备退出28案的是非恩怨,静下心来做直播带货,卖老家景德镇的瓷器。说干就干,随后,熊姑偷情时被小情人用狗绳勒死,人世间还有比这更羞辱的死法吗?甘肃男子从上海回家没几天,留在上海的妻子便失联刘某和孟某是一对80后夫妻,膝下生有一双儿女。夫妻俩夫唱妇随,勤勉努力,小日子过得还算和谐安逸。和所有农村孩子一样,刘某心中也有一个梦熊姑娘搬进出租屋,这又是哪个高人给她出的馊主意?熊姑娘一个人骑电动车搬家,租住的出租屋墙皮都脱落了,惨不忍睹啊刷到熊姑娘的一个小视频,视频中,熊姑娘一个人骑着电动车搬家。熊姑娘搬进的新家是一间出租屋,房子看起来很小很破很简陋,房军师录音泄露,杜粉内讧陡起,老杜开启整肃模式,铁粉人人自危军师扶我起来我还能演的录音曝光9。18庭审现场,杜粉西窗漫笔之卷正准备进入法庭参与旁听,突然有人叫她的网名,她回头一看,发现叫她的人是一位穿灰色上衣的年轻姑娘,她就是大名鼎鼎的军师潘李欲擒故纵让民转刑子弹先飞一会老杜一叶障目最后必成背锅侠9。18庭审,潘克李圣曲线收集民转刑证据9。18庭审,最为杜粉所津津乐道的就是大药房派出的四朵金花在应对控方律师问话时的傲人气势和她们精妙绝伦的回答技巧。尤其是位居四朵金花之首打扮拉闸限电是为了打贸易战?某些公知大V的解读纯属扯淡拉闸限电,节能减排,是为了平均碳排放还是为了打贸易战?前几天,有朋友从广东回来,说广东各地都在大面积拉闸限电,有的工厂都放假了,他所在的工厂8月份还在加班加点赶工,从9月底限电令开失道寡助,28案杜郭熊输成定局输是输,赢也是输9。18庭审无论结果如何,杜郭熊都是输9。18庭审,结果尚未可知,但不管庭审结果如何,对杜郭熊而言,他们都是输。为什么这么说呢?一他们输了开封府和大药房的人脉从老杜身患乙肝可以开饭
浪姐蓝盈莹与白冰吴昕的闹剧,以己度人,有时只不过是自作多情乘风破浪的姐姐随着刘芸海陆等姐姐们的离开,第二轮公演也已经开始拉开序幕,而二公的组团情况及即将表演的曲目也已确定,相比于一公艾瑞巴蒂张雨绮王丽坤黄圣依分组时闹出来的是非,二公的组队为何说蓝盈莹参加浪姐得不偿失?体现在3方面,或劝退资源方乘风破浪的姐姐终于落幕了,30位姐姐相聚比赛,最后14位姐姐组成两团PK,然后确定各团成团人数,再根据组内各人的人气排名选出成团姐姐,最终由宁静万茜孟佳李斯丹妮郁可唯张雨绮黄龄7位以家人谁最渣?不是赵华光周淼,是厚颜无耻的他谭松韵张新成宋威龙主演的电视剧以家人之名目前已经更新到32集,为什么说剧里最坏的男人不是软饭男赵华光周淼,而是另有其人,而且还是刚新鲜出炉的,那么他又是谁呢?让我们一起来看看三大渣凌霄拍桌子怼陈婷,不是因为她安排相亲,是她一句触碰他底线的话以家人之名贺梅(苑冉饰)一改二十年前的矜持,主动追求李海潮(涂松岩饰),又是学做菜,又是一起约会买书,被李尖尖(谭松韵饰)贺子秋(张新成饰)抓包了也一点都不害羞,直截了当问她们意见以家人之名4大恶人下场,陈婷赵华光有争议,他俩罪有应得谭松韵宋威龙主演的以家人之名是一部家庭剧,虽然戏里的好多人都不靠谱,但真正算得上恶人的,在贺梅无懈可击地洗白后,就剩下陈婷赵华光周淼了,没想到临到大结局又增加了一位恶人,那么这位令晴雅集下架,郭敬明会受哪些影响?还能继续导演出作品吗?目前郭敬明导演的晴雅集已经全线下架,针对他会受到那些影响,可以说郭敬明很难在影视圈生存下去了。郭导在演员请就位2中,面对给何昶希S卡的各种质疑,他口吐莲花,对S做出了多种英文解释,内娱乱象频出,是粉丝纵容还是媒体失格从吸毒到代孕从诈捐到逃税从嫖娼到诱奸未成年内娱的瓜一次又一次的突破了道德及法律的下限。他们拿着千万片酬,百万日薪,却忘记了自己的工作本质,一名文艺创作者的基本素养。我们看到的作品是11月25日李佳琦薇娅雪梨烈儿直播预告各位小伙伴周三好啊,情报员又来给大家剧透今晚主播预告喽今晚给大家带来的是李佳琦薇娅雪梨和烈儿的直播预告11月25日李佳琦薇娅雪梨和烈儿直播预告1。李佳琦11月25日直播预告今晚八点美丽的相遇只想把她比作天边曼舞的精灵,着一件风中飘逸的舞裙,揽一份人世盛开的柔情,存一瓣心灵弥漫的香馨,用生命舞出滚滚红尘中的纯洁简单坚贞浪漫落雪无声,一路欢歌,一路清愁,蓦然回望,寂静欢喜11月20日李佳琦薇娅烈儿林依轮晁然直播间预告Hello小伙伴们购物情报员来剧透今日的直播啦今晚预告的主播李佳琦薇娅烈儿林依轮晁然哦()1。李佳琦直播预告今晚八点十五分开播哦直播主题教你冬季日常眼妆2。薇娅直播预告集美们,前两12月1日李佳琦薇娅烈儿直播预告伙伴们早上好哦购物情报员又来给大家剧透今晚的直播预告今晚预告的主播有李佳琦薇娅和烈儿哦12月1日李佳琦薇娅烈儿直播预告1。李佳琦12月1日直播预告今晚八点十五分,佳琦给大家带来的是