MySQL数据库存储引擎主要有以下三个:InnoDB,MyISAM和Memory
1、InnoDB
InnoDB是一种兼顾高可靠性和高性能的统一存储引擎,在MySQL5.5之后,InnoDB是默认的MySQL引擎。
1.1、InnoDB引擎的特点:
a.DML(数据操作语言)操作遵循AICD(Automicity,Consistency,Isolation,Durablity)模型,支持事务
b.行级锁,提高并发访问性能
c.支持外键约束,保证数据的完整性和正确性
1.2、文件
a.xxx.ibd:xxx代表表名,InnoDB引擎的每张表都会对应这样一个表空间文件,存储该表的表结构(frm,sdi)、数据和索引
除了每次运行SQL语句,还可以在cmd终端运行如下代码,也可以看到数据
ibd2sdi xxx.ibd
2、MyISAM引擎
MyISAM是MySQL早期的默认存储引擎
2.1、MyISAM特点:
a.不支持事务,不支持外键
b.支持表锁,不支持行锁
c.访问速度快
2.2、MyISAM文件:有三个
a.xxx.sdi:存储表结构信息
b.xxx.MYD:存储数据
c.xxx.MYI:存储索引
3、Memory引擎
Memory引擎的表数据是存储在内存中的,受英健问题、断电问题的影响,只能将这些表作为临时表火缓存使用
3.1、Memory引擎特点:
a.存放在内存中,访问速度快(因为数据存放在了内存中)
b.hash索引(默认)
3.2、文件
xxx.sdi:存储表结构信息(他的文件只有sdi,因为数据存放在了内存中)