MySQL是各大互联网公司最受欢迎的开源的关系型数据库之一。那MySQL底层的架构是什么样子呢?今天我们来一起学习一下。
MySQL架构主要分为两层,Server层和存储引擎层。
Server层
组成部分及作用:
- 连接器,负责和客户端建立连接。
- 查询缓存,提高查询效率,默认是关闭状态,8.0之后的版本已将该模块删除。
- 分析器,负责分析客户端发送的SQL的词法、语法是否符合规范。
- 优化器,负责针对SQL选择最合适的索引。
- 执行器,执行SQL,通过存储引擎提供的接口和存储引擎进行数据交互。
存储引擎层
常见的存储引擎包括
- Innodb
- MyISAM
- Memery
MySQL自带的存储引擎是MyISAM,其他诸如InnoDB等存储引擎是以插件的形式引入MySQL数据库的。数据的存储以及存放的数据格式都是由存储引擎决定的。每个存储引擎都有自己的特点,如Innodb支持事务、行锁、崩溃后的安全恢复等;Memery是基于内存查询的存储引擎,查询速度非常快。
Mysql5.1版本以后默认使用InnoDB存储引擎。