Mysql基本架构

image

链接器

链接器负责跟客户端创建链接,获取权限,维持和管理链接

1.用户密码验证
2.查询权限信息,分配相应权限
3.可使用show processlist查看如今的链接
4.若是太长时间没有使用,就会自动断开,经过wait_timeout控制,默认8小时sql

链接能够分为长链接和短链接

查询缓存

当执行查询语句的时候,会先去查询缓存中查看结果,以前执行过的sql语句及其结果以key-value的形式存储在缓存中,若是能找到则直接返回,若是找不到,就继续执行后续的阶段缓存

可是不推荐使用查询缓存

1.查询缓存的失效比较频繁,只要表更新,缓存就会清空
2.缓存对应更新的数据命中率比较低优化

分析器

1.词法分析:Mysql须要把输入的字符串进行识别每一个部分表明什么意思。好比:把字符串T识别为表名T,把字符串ID识别为列名ID。
2.语法分析:根据语法规则这条sql是否知足Mysql语法,若是不符合就会报错。spa

优化器

1.在具体执行sql语句以前,要先进行优化器的处理,好比:当表中有多个索引的时候,决定用哪一个索引,当sql语句须要作多表关联时,决定表的连接顺序。
2.不一样的执行方式对sql语句的执行效率影响很大
RBO:基于规则的优化
CBO:基于成本的优化blog

执行器

操做引擎,返回结果索引

存储引擎

存储数据,提供读写接口
image接口

相关文章
相关标签/搜索