一、mysql底层架构图
image.pngmysql底层架构分为:
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、存储数据、获取数据等,存储引擎
的设计是插件形式实现的,常见了有InnoDB
、MyISAM
等。
未完待续......
网友评论