存储引擎在MySQL的体系架构中位于第三层,负责MySQL中数据的存储和提取,是与文件打交道的子系统,它是根据MySQL提供的文件访问层抽象接口定制的一种文件访问机制。
show engines;
5.5版本以前默认采用MyISAM存储引擎,5.5之后默认采用InnoDB存储引擎。
InnoDB:支持事物,提交,回滚,崩溃恢复,是事务安全的,适合CRUD。
MyISAM:不支持事务,一些外键也不支持,访问速度比较快,有利于查询。
Memory:利用内存来创建表,访问速度非常快,默认采用hash索引,一旦关闭数据丢失。
Archive:归档类型引擎,只能支持Insert&select。
CSV:内部是纯文本,以,作为间隔。由于文件限制,要求所有的列not null,不支持索引和分区。适合做数据交换时文件的中间表。
Blackhole:所有插入数据都不会保存,在binlog中有记录。