在MySQL数据库中,数据使用各种不同的技术转储在文件或内存中,这种技术或功能就称为存储引擎。
show engines;
show variables like ‘storage_engine‘;
不支持事务,也不支持外键。访问速度快。
每个MyISAM存储引擎的表,在磁盘上存储为3个文件,文件名和表名相同,扩展名如下:
MyISAM 的表数据和索引数据是分开存储的。
支持事务,支持外键约束,
InnoDB 的表数据与索引数据是存储在一起的,都位于 B+ 数的叶子节点上
Memory存储引擎将表的数据存放在内存中。每个MEMORY表实际对应一个磁盘文件,格式是.frm ,该文件中只存储表的结构,而其数据文件,都是存储在内存中,这样有利于数据的快速处理,提高整个表的效率。MEMORY 类型的表访问非常地快,因为他的数据是存放在内存中的,并且默认使用HASH索引 , 但是服务一旦关闭,表中的数据就会丢失。
每个 MEMORY 表实际只对应一个磁盘文件,格式是 .frm
。它只保存表结构
MERGE 存储引擎是一组 MyISAM 表的组合,MERGE 表本身没有数据,对 MERGE 类型的表进行查询、更新、删除的操作,实际上是对内部的 MyISAM 表进行的。
MERGE 表在磁盘上保留两个文件,一个是 .frm
文件存储表定义、一个是 .MRG
文件存储 MERGE 表的组成。
ARCHIVE存储引擎只支持INSERT和SELECT操作。
csv表允许以csv格式导入或转储数据
原文:https://www.cnblogs.com/binliubiao/p/15233275.html