存储引擎介绍
- 1. MySQL体系结构
- 2. 存储引擎介绍
- 2.1 存储引擎操作
- 2.2 示例演示
1. MySQL体系结构
-
连接层(Connection Layer):连接层主要负责与客户端建立连接,并进行用户身份验证和权限验证。在这一层,MySQL 接收来自客户端的连接请求,并分配线程、维护连接池以及管理连接的生命周期。连接层还负责处理客户端发送的 SQL 查询语句,并将查询传递给服务层的分析器进行处理。
-
服务层(Server Layer):服务层包括了查询缓存、分析器、优化器和执行器等组件。在服务层中,MySQL 首先通过分析器对客户端发送的 SQL 查询语句进行解析和语法检查,然后交由优化器进行查询优化,选择最佳的执行计划。最后,执行器负责执行查询,并将结果返回给客户端。
-
引擎层(Engine Layer):引擎层是 MySQL 中非常重要的一部分,它包括了不同的存储引擎,如 InnoDB、MyISAM、Memory 等。每种存储引擎都有自己的特点和适用场景,用户可以根据需求选择合适的存储引擎。引擎层负责数据的存储和检索,它和服务层之间通过 API 接口进行通信。
-
存储层(Storage Layer):存储层是 MySQL 中最底层的一部分,它实际上负责了数据的物理存储和检索。存储层通过文件系统等方式将数据存储在磁盘上,并提供相应的读写操作。存储层通常由存储引擎来实现,不同的存储引擎会有不同的存储方式和特性。
2. 存储引擎介绍
存储引擎是MySQL数据库的核心,我们需要在合适的场景使用合适的存储引擎,接下来就来介绍一下存储引擎。
存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式 。存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型。我们可以在创建表的时候,来指定选择的存储引擎,如果没有指定将自动选择默认的存储引擎。
以下是关于存储引擎的一些操作:
2.1 存储引擎操作
- 建表时指定存储引擎
CREATE TABLE 表名(
字段1 字段1类型 [ COMMENT 字段1注释 ] ,
......
字段n 字段n类型 [COMMENT 字段n注释 ]
) ENGINE = INNODB [ COMMENT 表注释 ] ;
- 查询当前数据库支持的存储引擎
show engines;
2.2 示例演示
1.查询建表语句 — 默认存储引擎: InnoDB
show create table account;
我们可以看到,创建表时,即使我们没有指定存储引擎,数据库也会自动选择默认的存储引擎。
2.查询当前数据库支持的存储引擎
show engines ;
3.创建表 my_myisam , 并指定MyISAM存储引擎
create table my_myisam(
id int,
name varchar(10)
) engine = MyISAM ;
4.创建表 my_memory , 指定Memory存储引擎
create table my_memory(
id int,
name varchar(10)
) engine = Memory ;
以上就是关于存储引擎有关的一些sql语句,当选择适合的存储引擎时,务必根据具体的需求和情况进行评估。每种存储引擎都有其独特的特点,优势和限制。因此,在实际应用中,需要综合考虑数据的特性、访问模式、事务需求等因素,才能做出最佳的存储引擎选择。