一、逻辑架构
![](https://img.haomeiwen.com/i12792403/d7fbc2d1e8898690.png)
二、连接管理
三、解析与优化
1、查询缓存(默认是关闭状态)
mysql拿到查询sql以后,先到查询缓存中查看,是否执行过这条sql。之前执行过的sql会以key-value的形式,缓存到内存中。key是查询的语句,value是查询的结果。
在mysql8.0以后缓存命中率太低,去掉了,数据如果被修改,缓存失效了。
2、语法解析器
MySQL的解析器通常由词法分析器(Lexer)和语法分析器(Parser)两部分组成。Lexer负责将输入的字符序列分解成一系列的标记(Tokens),Parser则根据语法规则,在语法没有错误的情况下,将这些Tokens组合成语法树
![](https://img.haomeiwen.com/i12792403/524ec9f730e7b1a4.png)
3、优化器
在优化器中会确定sql语句的执行路径,是根据全表检索,还是根据索引检索等。目的是生成其中最好的执行计划。
![](https://img.haomeiwen.com/i12792403/90b44feb27109626.png)
网友评论