select语句的执行过程
select * from T where ID = 10
MySQL的基本架构:
MySQL可以分为以下两个部分
-
server层
-
存储引擎
存储引擎
存储引擎负责数据的存储和提取。其架构模式时插件式的,支持InnoDB、MyISAM、Memory等多个存储引擎。现在最常使用的存储引擎是InnoDB,它从MySQL5.5.5版本开始成为了默认的存储引擎。
也就是说,执行create table 建表时,若不指定引擎类型,默认使用的是InnoDB。也可以在create table 语句中使用engine=memory来指定使用内存引擎创建表。不同的存储引擎的表数据存取方式不同,支持的功能也不同。
不同的存储引擎公用一个server层,也就是从连接器到执行器的部分。
server层
server层中包括了以下几个模块
-
连接器
-
查询缓存
-
分析器
-
优化器
-
执行器
server层还包含了MySQL大多数核心服务功能,以及所有的内置函数(日期、时间、数学和加密函数等),所有的跨存储引擎的功能都在这里实现,比如存储过程、触发器和视图等。