mysql存储引擎类型及特点
MyISAM存储引擎
在MySQL5.1及之前的版本,MyISAM是默认的存储引擎。MyISAM会将表存储在两个文件上,分别以.MYD和.MYI为扩展名。
特点
1、不支持事务
2、表级锁(对高并发不友好,但开销小)
3、崩溃后无法安全恢复,
4、使用聚合函数count(*)无需对表进行全表扫描
应用场景:
1、日志型引用
2、需要统计的报表
InnoDB存储引擎
MySQL5.5及之后版本默认的存储引擎,现代的InnoDB版本也就是MySQL5.1中所谓的InnoDB plugin。
特点
1、支持事务
2、行级锁(锁粒度更小,可以支持更高的并发,但开销大)
3、支持热备份
4、崩溃后能够自动恢复数据
5、主键索引,所有的数据都是通过主键来组织,数据与索引放在一起。
应用场景
1、需要使用事务操作的场景,如:订单、资金变动
CSV存储引擎
CSV引擎可以将普通的CSV文件作为MySQL的表来处理
特点
1、不能定义索引
2、可直接编辑CSV文件进行数据的编排
应用场景
1、数据交换机制
将execl文件的数据存储为CSV文件,然后传到MySQL数据目录下,就能在MySQL中打开使用。
Archive存储引擎
Archive存储引擎只支持insert与select操作语句,在MySQL5.1之前也不支持索引
特点
1、可实现高并发的插入
2、每次查询都要进行全表扫描,并且加锁进行查询
3、不支持事务,是一个针对高速插入和压缩做了优化的简单引擎
应用场景
1、日志型应用
2、大数据量采集