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

从查询语句执行流程看MySQL架构

  前言
  常言道,看待一个事情要先知全貌,从高维度认识、理解,然后再深入各个细节,一一击破。MySQL的学习也不例外,那么你知道一条SQL在MySQL中执行要经历哪些步骤吗?每个步骤都有MySQL的哪些"零件"参与吗?如果不清楚的话,可以阅读本文。SQL执行流程
  在MySQL客户端或者JAVA应用程序中查询一条最简单的语句比如select * from T where ID =10;你知道经历哪些步骤吗?
  连接
  你要执行查询语句前肯定要先和MySQL建立连接啊,那怎么建立连接呢?
  可以通过下面的命令:mysql -h ip -P port -u$user -p 复制代码经过三次握手建立连接成功后, 验证客户端传来的连接用户名和密码,并不是任何阿猫阿狗都可以连啊如果用户名或密码不对,会收到一个Access denied for user错误,客户端程序结束执行用户名密码认证通过,会从权限表查出账号拥有的权限与连接关联,之后的权限判断逻辑,都将依赖于此时读到的权限
  这个用于连接的"零件"就是MySQL的连接器,它主要负责跟客户端建立连接、获取权限、维持和管理连接。查缓存
  现在连接建立好了,相当于客户端和MySQL服务端的"传输管道"有了,开始查数据了。
  都说性能不够,缓存来凑,MySQL"为了性能",也实现了查询缓存。MySQL以查询的语句作为key去查询缓存中获取对应的value如果没有的话,会去做真实的查询如果有的话,直接返回缓存中的数据如果这个表发生更新,查询缓存会清空
  所以关键点在于MySQL表的更新频率以及缓存的命中率,我们可以根据下面命令查看监控查询缓存:show status like "%Qcache%"; 复制代码
  Qcache_hits: 表示有 多少次命中缓存。我们主要可以通过该值来验证我们的查询缓存的效果。数字越大,缓存效果越理想。Qcache_inserts: 表示多少次未命中然后插入,意思是新来的SQL请求在缓存中未找到,不得不执行查询处理,执行查询处理后把结果insert到查询缓存中。这样的情况的次数越多,表示查询缓存应用到的比较少,效果也就不理想。当然系统刚启动后,查询缓存是空的,这也正常。
  这上面一个过程就是MySQL的查询缓存操作。
  但是实际情况是查询缓存往往弊大于利,因为查询缓存的失效非常频繁,一般建议大家在静态表里使用查询缓存。但是在MySQL 8.0中已经去掉了查询缓存。分析验证
  如果没有命中查询缓存,就要开始真正去查了。在查询前,MySQL肯定要"理解"你这条SQL语句啊,所以要有个"零件"去分析验证你的SQL语句,那究竟是怎么个分析过程呢?词法分析, 你输入的是由多个字符串和空格组成的一条 SQL 语句,MySQL 需要识别出里面 的字符串分别是什么,代表什么。语法分析,根据词法分析的结果,语法分析器会根据语法规则,判断你输入的这个SQL语句是否满足 MySQL语法。
  这也是为什么我们的SQL语句存在语法问题的时候会报错,就是这个叫做分析器的零件报出来的。
  优化
  语法没问题,就够了吗?当然不够,智能的MySQL还要帮我们做优化,那都做哪方面的优化呢?比如有多个索引的时候,智能选择一个它认为最佳的索引多表关联的时候,决定表的连接顺序对子查询进行优化对连接语义进行了外连接消除、嵌套连接消除....
  这个过程就是由MySQL的优化器做的。执行
  优化器阶段完成后,这个语句的执行方案就确定下来了,然后真正的开始执行了。
  在执行之前需要判断该用户是否具备权限 。如果没有,就会返回权限错误。如果具备权限,就执行 SQL 查询并返回结果。
  我们以一开始的查询语句select * from T where ID =10;为例,ID没有索引,并且采用的innoDB作为存储引擎,整体查询的流程如下:调用 InnoDB 存储引擎接口取这个表的第一行,判断 ID 值是不是1如果不是则跳过如果是则将这行存在结果集中调用引擎接口取"下一行",重复相同的判断逻辑,直到取到这个表的最后一行。
  上述遍历过程中所有满足条件的行组成的记录集作为结果集返回给客户,这一个过程就是由MySQL的执行器执行的。MySQL逻辑架构
  上面讲解了查询语句的真个执行流程,涉及了MySQL的各个"零件",我们将这些零件组装组装,可以形成下面的逻辑架构图:
  大体来说,MySQL可以分为Server层和存储引擎层两部分。Server层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持 InnoDB、MyISAM、Memory 等多个存储引擎。所有的存储引擎都共用同一个Server层。总结
  本文通过以一个查询语句的执行流程为例,讲解了MySQL整体的逻辑架构,对MySQL的各个部分有了一个全局的认知。这样,在遇到问题的时候,也比较有针对性,比如对于一个select * from T where k=1,报了Unknown column ‘k’ in ‘where clause’的错误,我们就很快的知道是分析器报出来的,因为分析器会分析我们SQL的语法。

从嘴巴里抠出来的臭石头,到底是什么东西?日常需要怎样注意口腔卫生?根据您的描述,这些臭石头应该就是牙结石了。90的人都会长牙结石,只是程度轻重有所差异。之所以会长牙结石,是因为口腔清洁不到位,有食物残渣附着在牙缝中或者牙齿与牙龈交界的部位,口腔中为什么很多人买房时都喜欢静悄悄,买完以后才告诉身边朋友或亲戚?今年年初买房的时候,我也非常开心,并且第一时间把这个消息告诉了关系最好的表姐。谁知表姐听了之后脸色骤变,冷冷地说了一句话。也正因为这句话,我决定买房的时候谁都不告诉,等住上之后再告胡椒和花椒有什么区别?胡椒和花椒有什么区别?胡椒和花椒是两种不同的食材,既是常用的调料,也可入药。二者主要是从来源产地性状药性功效作用等方面有所区别。1。胡椒来源为胡椒科植物胡椒的干燥近成熟或成熟果实。佳能的颜色真的比索尼好吗?你好,佳能和索尼的直出色彩,各有特色,喜欢佳能的人肯定不喜欢索尼,喜欢索尼的人肯定不喜欢佳能。为了证明是佳能的原片,所以截屏了佳能的直出色彩,对于中国人来说,确实比索尼更讨喜一些关痘印黑色素多久会消失?看个人的体质与生活习惯痘印黑色素多久会消失?痘印黑色素一般需要36个月消失,具体消除时间与痘痘的大小破损的深度炎症程度及个体因素等有关。痘印黑色素也就是痤疮导致的一种皮肤色素沉着,浅色牛仔裤怎么穿才能清爽好看?粉色本身就是一个让人少女心爆棚的颜色,小编之前有看过一个帖子说,女生到了一段时间之后会疯狂地喜欢上黑色(小编之前是),但是又到了一段时间之后,会更疯狂地喜欢上粉色(小编膝盖已经中枪退休后一直想去慢慢旅行,但一直没有实现,大家有这种想法吗?退休后一直想去慢慢旅行,一直没实现。这个问题也许是很多退休老人的梦想吧!是的,大部分人都想退休后,去周游世界,看看美丽的人间仙境,领略袓国或世界山川之美或远眺辽阔的大海,可现实把我辽篮6连胜却高兴不起来!5投1中进攻隐身,莫兰德真是水货吗?如果他是水货,你连水货的资格都没有,你不仅是看不懂比赛,还海涛带球员节奏么?怎么不高兴,你直接说你非要强行加戏不就完事了么?辽宁选择莫兰德的目的是什么?你懂么?你看去年总决赛辽宁输天津女排为何一家独大?天津女排有深厚的排球文化,在中国女排联赛一直是一支强队。尤其今年,看天津女排的阵容,联赛开始前,就知道联赛冠军肯定是天津女排了。主力队员都是参加东京奥运会的队员,在加一位强力接应瓦月薪5000元在印尼能过上怎样的生活?有哪些去了印尼才知道的事情?一位53岁的东北单身大叔,在印尼花了5万元娶了两个18岁的小姑娘,迎来了第二春天天天左搂右抱,过上没羞没臊的幸福生活,让很多人羡慕不已。在印度尼西亚我一个同事娶了7个老婆,我们经常梅西在2011自然年进球91个助攻36个,这数据算厉害吗?如果这样的数据都不算厉害,那足球比赛估计也就没啥好看的,要知道梅西的年度91球可不是在刷数据,如果这样的数据都能刷出来,足球运动也成不了世界第一大运动项目了。2012年梅西的年度进
一两陈皮一两金!4种花样吃法,消食助眠还暖胃,现在吃正好每年10月,茶枝柑成熟之后,就会开始陈皮的制作。储存年份越长保存越完好的陈皮,等级越高价值越高。民间有言一两陈皮一两金百年陈皮胜黄金,小小一块陈皮为什么备受大家喜爱呢?中医认为,陈为何有些人特别惹蚊?最新研究发现是皮肤气味所致美国研究发现,蚊会倾向寻找叮咬的对象,而这是受人体散发的气味所致。这似乎解释了为何有些人特别惹蚊,特别容易在郊外野餐的时候,成为叮咬的目标。纽约洛克菲勒大学(Rockefeller夜读一个人应具备的三个品质来源河南法制报人们常说,细微之处见格局。优秀的人往往具备下面这三个品质,让他们在纷繁的人生路上,张弛有度不骄不躁,稳步地朝着目标前行。内心坚强有人说其实人跟树一样,越是向往高处的阳有人替我来爱你纵使三生三世魂牵梦绕奈何桃花拂面不是当年模样世间万般皆苦,唯情执最苦。爱不重不生娑婆,念不一不生净土。我嫁进江家那一天,就把自己的后半生放弃了。父亲生意失败,欠下高利贷,要债的堵着瑞光照亮心世界为什么冬季要多晒太阳冬天里晒太阳可不仅是取暖这么简单。阳光是人类生存和健康的必要条件。西方医学之父希波克拉底就说过,人间最好的医生是阳光空气和运动。随着冬季的到来,每天的日照时间逐渐变短,加上因天气寒健胃消食片巧搭配,不但效果翻倍,还可疏肝健脾,治这6种病大家好,我是赵医生,说起健胃消食片,大家都知道此药可以增强胃动力,帮助消化,用于消化不良腹胀腹泻打嗝反酸等各种症状,但它搭配这6种药,还可以再治这6种病,快来看看吧!第一个搭配四君少林寺年收入破亿元,数额如此惊人,这些钱都花哪儿去了?虽然佛教起源于印度,但它在中国有很大的影响,自古以来,许多人信仰佛教,这导致了中国有许多大小不同的寺庙。例如,一些大型寺庙将有更高的自然声誉,每隔一段时间就会有许多朝拜者和游客,在4大种子出局!16强出炉国羽6胜2负锁定13个席位日本冠军爆大冷北京时间10月20日消息,结束第二比赛日争夺之后,2022年世界羽联丹麦羽毛球公开赛5个单项的16强全部出炉,在这个比赛日,国羽取得了6胜2负战绩,算上第一比赛日晋级的球员,国羽一2514!史密斯中远投伊森两扣,火箭两新人上演完美首秀文水清清北京时间10月20日,火箭107117不敌老鹰。结果不尽人意,但过程很喜人,格林16分5篮板3助攻,波特21分6篮板7助攻,申京15分9篮板,上赛季历练的三位新星均有不错的孙铭徽空砍18分8助攻北京全场28次助攻力克东阳光斩获3连胜北京时间10月20日15时,202223赛季CBA常规赛第五轮,北京队对阵东阳光。历经一番角逐,北京队10076战胜东阳光夺取3连胜。数据统计北京队利夫17分7篮板4助攻,约翰逊1WTT澳门冠军赛首个冷门!王曼昱2比3不敌37岁华裔老将,遭一轮游北京时间10月20日消息,2022年世界乒乓球职业大联盟WTT澳门冠军赛展开第二日争夺。女单首轮,王曼昱状态欠佳,挽救多个赛点仍以2比3不敌37岁的法国华裔老将袁嘉楠,遭遇一轮游,