MySQL体系结构
- 连接层。一些客户端和链接服务,主要完成如连接处理、授权认证及选相关的安全方案
- 服务层。主要完成大多数的核心服务功能,比如SQL接口,缓存的查询,SQL分析和优化,部分内置函数的执行。所以跨存储引擎的功能在这一层实现,如存储过程、函数等。
- 引擎层。真正负责DBMS中数据的存储和提取。服务器通过api与存储引擎进行通信。不同的存储引擎具有不同功能,可以根据需求来选择合适的存储引擎。
- 存储层。将数据存储在文件系统上,完成与存储引擎的交互。
MySQL存储引擎
在创建表时可以指定存储引擎,现在MySQL的默认存储引擎是InnoDB,它也是最常用的一种。
InnoDB是一种兼顾高可靠性和高性能和通用存储引擎。特点:①事务,DML操作遵循ACID模型,支持事务。②行级锁,提高并发访问性能。③外键,支持外键约束。InnoDB引擎的每张表都会对应一个.idb表空间文件,存储表结构、数据和索引。
MyISAM是MySQL早期默认的存储引擎。特点:不支持事务,不支持外键约束,支持表锁但不支持行锁,访问速度快。在磁盘中用表结构文件、索引文件、数据文件一起存储一个表。
Memory的表数据是存放在内存中的,只能作为临时表或缓存使用。特点:内存存放,默认使用哈希索引。在磁盘中只有sdi一个文件存放表结构。
标签:存储,支持,引擎,InnoDB,外键,MySQL From: https://www.cnblogs.com/louistang0524/p/18331558