Mysql - 架构及常用组件功能

一、mysql底层架构图

image.png

mysql底层架构分为:
1、client(客户端)
2、server(服务端)

client: 主要有各种plugin、jdbc等
server: 包含了连接器、查询缓存、分析器、优化器、执行器、存储引擎

二、各个组件的功能

2.1 连接器

连接器的主要作用是与客户端建立联系,管理客户端的连接、会话、权限验证等。

2.2 查询缓存

查询缓存的作用是,在sql通过连接器之后到达服务端之后,如果sql是sel开头的语句,那么先在查询缓存中获取命中结果,如果有命中结果则直接返回结果。没有结果那么sql会通往分析器

2.3 分析器

分析器拿到sql后,会对sql进行词法、语法分析,同时创建sql Id,如果sql有错误,那么将会终止sql行为,将异常返回客户端。

2.4 优化器

优化器的作用主要是对通过分析器的sql进行优化,比如进行索引选择重写查询等,同时会创建sql执行计划,可以通过explain指令进行查看。

2.5 执行器

执行器拿到了经过优化器的sql,将会操作存储引擎,通过调用存储引擎提供的读写接口,得到返回结果。

2.6 存储引擎

存储引擎是sql的最终执行者,它对外提供了读写接口,本身主要作用为执行sql、存储数据、获取数据等,存储引擎的设计是插件形式实现的,常见了有InnoDBMyISAM等。

未完待续......

你可能感兴趣的:(Mysql - 架构及常用组件功能)