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

面试官你说说一条查询SQL的执行过程

  为了理解这个问题,先从Mysql的架构说起,对于Mysql来说,大致可以分为3层架构。
  第一层作为客户端和服务端的连接,连接器负责处理和客户端的连接,还有一些权限认证之类。比如客户端通用用户名密码连接到Mysql服务器,还有对于数据库表的执行权限。
  第二层是核心层,基本上Mysql大部分的核心功能都在这一层,包括查询缓存、解析器、优化器之类,比如SQL解析、优化、索引选择,到最后生成执行计划。
  第三层则是存储引擎了,Mysql通过执行引擎直接调用存储引擎API查询数据库中数据。
  通过Mysql的架构分层,我们首先就可以很清晰的了解到一个SQL的大概的执行过程。  首先客户端发送请求到服务端,建立连接。 服务端先看下查询缓存是否命中,命中就直接返回,否则继续往下执行。 接着来到解析器,进行语法分析,一些系统关键字校验,校验语法是否合规。 然后优化器进行SQL优化,比如怎么选择索引之类,然后生成执行计划。 最后执行引擎调用存储引擎API查询数据,返回结果。
  这就是一个很概括性的SQL执行过程,接下来,具体到每个步骤详细说明一下。  查询缓存
  如果你翻看Mysql的官方文档就会知道,查询缓存在5.7.20版本已经被弃用,并且8.0的版本已经删除了。为啥要删除,可能觉得太鸡肋了吧。
  我们可以通过命令来查看查询缓存是否可用。  mysql> SHOW VARIABLES LIKE "have_query_cache"; +------------------+-------+ | Variable_name    | Value | +------------------+-------+ | have_query_cache | YES   | +------------------+-------+
  除此之外,查询缓存还有一些核心参数。更具体的说明可以参考官方文档。
  query_cache_type :是否打开查询缓存,值为012,分别对应为OFFONDEMAND,ON的话则代表开启查询缓存,但是可以通过SELECT SQL_NO_CACHE 来手动禁用,DEMAND则代表只缓存以SELECT SQL_CACHE 开头的SQL语句。
  query_cache_limit :缓存结果大小限制,如果查询结果超过大小则不会被缓存,默认是1M大小。
  query_cache_size :为查询缓存分配的内存大小,他是1024的整数倍。
  query_cache_min_res_unit :查询缓存分配内存块的最小单位,默认为4KB。这是查询缓存分配内存的基本单位,即便比如查询的数据只有1个字节,也会按照最小内存单元大小来分配内存空间。
  在进行SQL解析之前,系统会判断查询缓存是否打开,如果打开,就拿缓存中的查询和传入的查询比较,如果完全一样,就会从缓存中直接返回。
  但是需要特别注意的是,无论大小写、空格还是注释,都会影响缓存的命中结果,也就是说必须完全一样!
  比如以下的SQL大小写不同、多了空格都无法命中查询缓存。  select * from user; SELECT * from user; select   * from user; 解析器&预处理器
  如果查询缓存未命中,就会进入正常的SQL执行环节。
  首先就像我们正常的业务开发一样,第一步都是对参数的规则校验,Mysql也一样,解析器会进行词法语法分析,基于语法规则对SQL进行校验。
  比如关键字是否使用正确啊,或者说关键字顺序是不是正确,比如说你把 select 写成了selct ,order by 写成了by order 。
  如果校验OK,那么就生成一颗"解析树"。
  接着预处理器就是进一步依据合法规则生成的解析树进行校验,比如表名、列名是否存在等等。  优化器
  如果说解析器和预处理器是我们业务逻辑的前置校验环节,优化器就是真正的处理业务逻辑的地方。
  一条查询SQL可以有N种执行方式,优化器的最终目标是找到最好的执行计划,交给执行引擎去执行。
  但是实际使用中我们经常会发现,Mysql经常有选择错索引的情况,我明明有更快的索引,结果它不用,导致搞出了慢查询。
  这是因为Mysql的优化器是基于成本模型的优化器,他只是基于已有的成本计算公式来选择一个成本最低的执行方式,这个执行方式不一定会是最快的,只能说大多数时候,优化器的选择比我们自己的选择更准确。
  总的来说,这个优化过程太复杂了,流程大致就是下图所示,更详细的内容可以看《数据库查询优化器的艺术原理解析与SQL性能》这本书(我实在是懒得看了,吐了)。
  执行引擎
  大部分核心的事情已经被优化器处理完了,最后执行引擎只要根据生成好的执行计划查询数据返回就好了,这一步相对就挺简单了。
  执行引擎只需要根据执行计划的指令调用存储引擎的API就可以了。
  当然这一步如果可以缓存查询结果,那么就在这个阶段把查询结果缓存下来,然后把结果返回给客户端就可以了。  总结
  一图胜千言。

张柏芝晒3胎周岁照爱意满满只要做好自己能做到的,就算成功吧文若尘张柏芝比我大两岁,出生于中国香港。1998年,在她18岁的时候,和周星驰一起主演喜剧之王一跃成为受人瞩目的新星。19岁时,凭借与作贤齐主演的星语心愿,获得了更多的关注。河东狮那些火堆前围坐唱歌的人儿,终于散落天涯,只留下小小的愿望人总是没预料地长大,在某一个时刻被瞬间击中,发现自己的年轮一圈又一圈缠绕,已经有那么多再也回不去的从前。于我,那个时刻,来自电影小小的愿望。高远(彭昱畅饰)徐浩(王大陆饰)张正阳(20年拍了70多部戏,飞虎之雷霆极战的唐永飞,又把网友虐哭了在黄宗泽吴卓羲马国明这些TVB力捧男神的夹击下,在苗侨伟吴启华王敏德姜大卫麦长青这些中生代视帝级演员的包围中,他真的不算能够扛得起收视,或顶得住主角的那一个。但是,从1999年主演豆瓣8。2分的天才枪手几个不知名小演员演出好于91的犯罪片青春电影总离不开一个主题成长。七月与安生,是闺蜜与爱情的选择之路悲伤逆流成河,是青少年时受过的伤如何在未来与自己同行致青春,是那些我们带不到以后的感情该怎样在当下消弭狗十三,是一个李安用双子杀手解题我是谁?我应该是谁?非我的我怎么破?以克隆人这个科幻概念入题拍电影的,李安不是第一个,但是从人性角度去解题的,他得算各中高手。阿诺施瓦辛格所主演的第6日,曾经探讨过在克隆技术的加载之下,克隆人和本体之间的关系逃出克隆好声音鸟巢对决频翻车,邢晗铭虽跑调却夺冠,网友冠军该给周深文若尘2019中国好声音鸟巢巅峰对决的冠军之夜,在邢晗铭的夺冠声中落幕。俗话说,直播见真章,如果说以往的各场对决,都在录播的保护之下,没有暴露出选手太多问题的话,那么,今晚的冠军之20岁演戏8年后爆红,但李现恐惧的从不是红不红,而是会不会演戏坦白说,作为一个80后的老阿姨,写爱豆正能量的时候,选比自己小9岁的李现,还有一点怪难为情的。但是,谁叫他不仅演技出众,还三观超正,无论作品还是采访,都传达出很让我信服的价值观呢!重磅!王思聪被限制高消费,至少影响这9种消费行为11月9日,中新经纬记者从中国执行信息公开网获悉,王思聪已被上海市嘉定区人民法院发布限制消费令。上述限制消费令显示,法院于2019年08月12日立案执行申请人曹悦申请执行上海熊猫互决胜时刻在暗潮涌动的至暗时刻里,有不平凡的人们光芒闪耀比起深夜里的黑,黎明前的黑暗最难将息。越是深夜,万籁俱寂,眼不可物视,耳不清方位,警觉心也会多提十二分而黎明前由黑变黛,再由黛青变鱼肚白的曙光将至,最容易麻痹神经,混淆视听。看过决殷世航送520福利?粉丝买假口红获10倍赔款,殷货得福真香殷世航的神奇操作,真可谓是前无古人后无来者了。之前,殷世航在顶流网红的圈子里并不突出,但是因为被封杀630年的丰功伟绩,他瞬间成为了最受关注的网红,热度碾压一众顶流网红。只可惜,这利路修出圈成网游NPC,最新排名卡位第12这盛世如笋丝所愿创造营2021中的利路修到底有多出圈,想必已经不用多做赘述了。虽然他不是长得最帅,也不是唱跳水平最好的,不是最搞笑也不是中文说得最好的,但却是最受观众喜欢最出圈的选手。这一切,只因
全素颜神演技,她怕是要二封影后了亲情题材的电影,永远是治愈人心灵的一大武器。无论是韩国早年童话般又现实的7号房的礼物,还是费尽心思不让女儿受到第二次伤害的素媛,都是极具杀伤力的催泪炸弹。当然,母亲是另类,奉俊昊导张艺兴的努力点,都加在选剧上了吗?最近,在B站上看了up柳飘飘了吗对张艺兴的分析张艺兴,一个努力的优质剧混子。张艺兴的微博号是努力努力再努力,之前努力是个好词,可能是被娱乐圈用多了,也就不怎么好听了。观众嘲讽的不是林志玲生子后首晒照,产后3个月长这样,网友都直呼不敢认大家对于娱乐圈明星们的关注,似乎一直都是女明星要比男明星更多一些,除了在穿衣打扮和颜值身材之后,大家还比较关心她们的结婚生子问题。最近的娱乐圈似乎一直被大S的再婚消息所覆盖,网友们江疏影大方晒健身照,素颜可以看见脸上的痣,你怎么评价呢?江疏影在娱乐圈里可谓是被称为女神级别,她的相貌并不出彩,但是却非常耐看。就相当于她的脸蛋是非常规范的脸蛋,同时她的身材也是非常的完美。就是这样,很多人都会好奇,在女明星的圈儿里,她那些上亿身家明星逃税漏税被罚,大快人心现在每个人都知道明星或者演员了,随便一个明星都是1000万的财产,在每个人的认知中当明星是为了赚钱,年收入都是按1亿来计算的,所以容易赚钱的人其实都得做违法的事情,逃税!首先想到的爱拼会赢开播挨批,于晓光狼搂女演员,甘婷婷成黑马继人世间后爱拼会赢迅速上映,换汤不换药这部作品依旧是创业剧。该剧讲述了八十年代市场经济的发展,这点和鸡毛飞上天有相似之处,从投机倒把到创立公司,但鸡毛飞上天高开低走,剧情后面有烂尾余生彻底崩坏,杨紫的角色毁了整部剧,男主也成恋爱脑余生请多指教终于要大结局了,说实话,前期一直有不少人吐槽演员的长相演技,小8感觉这些都还好,毕竟各花入各眼,每个人评判标准不一样。偶像剧对演员演技要求不高,只要剧本合理,剧情够甜,给过去一年演技最好的10位女演员排个名,孙俪仅第9,海清第3这段时间,娱乐圈准确地说是影视圈十分热闹。先是网传的金鹰女神候选人名单,还有模有样地贴出了剪影图,不过这些都是假消息,一切等官宣。紧接着就是一年一度的电视剧演员盛事,白玉兰奖提名。出现反转?赵丽颖被爆偷税漏税?官方辟谣称一切以官网消息为准3月28号,有网友晒出一张疑似赵丽颖偷税漏税截图出来,瞬间引起了网友们的轩然大波。谁都没想到,竟然会突然爆出这么爆炸性的新闻,大家顿时来了精神,纷纷想要知道事情的真相。要知道,赵丽同样是哭戏,把殷桃海清童瑶放一起看,高下立判最近,心居正在热播,海清与童谣,两大实力女星同台飙戏。但是,两人收获的评价却截然不同,观众们赞叹海清的演技,却觉得童谣演得尴尬,两人口碑的分界点,就来自于哭戏。虽然有人说,哭戏是演影后何琳低调出游,教授老公外形帅气,为家庭放弃前程当全职太太近日,有网友在社交平台上分享了一则动态,在这一则动态里面何琳一家出镜了。原来是何琳一家外出游玩,正好被网友偶遇到,于是就拍下了她们的照片传到了社交平台上。从当天网友拍下的照片之中可