MySQL基础架构
前段时间订阅了《Mysql实战45讲》(从原理到实战),新的一年为自己充充电。对于这部分内容,我所知道的只来源于我大学里学习的课程《数据库原理》,在大学里学习的只是简单的查询,增加,删除,索引,锁,触发器,视图等内容。几乎没有基础的架构知识。因此在这里巩固一下原理,学习一下数据库Mysql在原理上究竟是怎样的。 首先我们一起看一个Mysql的基本架构示意图: 1、Mysql可以分为Server层和存储引擎层两部分。 2、Server层:包含连接器,查询缓存,分析器,优化器,执行器等,涵盖了MySQL的大多数核心功能区以及所有的内置函数。 ①内置函数:日期,时间,数学和加密函数等; ②所有跨存储引擎的功能都在这一层实现,例如存储过程,触发器,视图等; 3、存储引擎层:负责数据的存储和提取。 ①架构模式:插件式的,支持InnoDB(目前也是最常用的,MySQL5.5后默认存储引擎)、MyISAM、Memory等多个存储引擎。 ②create table 时不指定引擎类型,默认使用的就是InnoDB.如果使用其他类型,可以利用create table语句中使用engine=memory,等来指定使用内存引擎来创建表。不同的存储引擎数据存储方式不同,支持的功能也不同。 4、不同的存储引擎共用一个server层,结合一个例子我们从总体上了解一下各部件的功能。 mysql> select *