MySql的执行流程过程
建立链接 -> 查询缓存(MySql8已经被取消) -> 解析器 -> 优化器->执行器(调用存储引擎的api) -> 返回数据
可以看到MySql架构分为两层:Server层和存储引擎层。
- Server层负责建立连接、sql解析、分析和执行sql。除了上图Server层功能外是在这层实现的,还有内置函数、存储过程、binlog也是在Server实现的。
- 存储引擎层负责存储和提取数据。常用的存储引擎有InnoDB、MyISAM。不同的储存引擎特性不一样,5.5之后InnoDB是默认的储存引擎,其优点支持事务。常说的索引结构是存储引擎层实现的。InnoDB默认使用B+树作为索引结构。