- MySQL的存储引擎有哪些:
1)CSV存储引擎:
数据存储以 数据存储以CSV文件,特点:
a、不能定义没有索引、列定义必须为NOT NULL、不能设置自增列--》不适用大表或者数据的在线处理
b、CSV数据的存储用,隔开,可直接编辑CSV文件进行数据的编排--》数据安全性低
注:编辑之后,要生效使用flush table XXX 命令
c、应用场景:数据的快速导出导入和表格直接转换成 表格直接转换成CSV
2)archive存储引擎:
压缩协议进行数据的存储,数据存储为 数据存储为ARZ文件格式,特点:
a、只支持insert和select两种操作
b、只允许自增ID列建立索引
c、行级锁
d、不支持事务
e、数据占用磁盘少
3)memory存储引擎:
数据都是存储在内存中, 数据都是存储在内存中,IO效率要比其他引擎高很多,服务重启数据丢失,内存数据表默认只有16M,特点:
a、支持hash索引,B tree索引,默认hash(查找复杂度0(1))
b、字段长度都是固定长度varchar(32)=char(32)
c、不支持大数据存储类型字段如 blog,text
d、表级锁
4)myisam存储引擎:
Mysql5.5版本之前的默认存储引擎,特点:
a、select count(*) from table 无需进行数据的扫描
b、数据(MYD)和索引(MYI)分开存储
c、表级锁
d、不支持事务
5)innodb存储引擎:
Mysql5.5及以后版本的默认存储引擎,特点:
事务ACID MVCC
行级别锁
聚集索引
支持外键
数据缓存
2、各种数据存储引擎对比: