InnoDB引擎并发
是MySQL默认的引擎mvc
1:数据存储在表空间中,表空间是黑盒的,有一系列文件构成;高并发
2:使用MVCC支持高并发,同事利用mvcc和行级锁来支持事务,默认的是REPEATABLE READ可重复读,用间隙锁策略防止幻想读,间隙锁锁定是一个范围,在InnoDB引擎中,采用innodb_locks_unsafe_for_binlog参数,这个参数的默认是是OFF,也就是设置开启间隙锁,可是通常不要更改该参数,由于这个参数影响到主从复制,灾难恢复;性能
3:基于聚簇索引,对主键查询性能有了很大的优化,可是二级索引必须包含主键,因此主键要尽可能小;优化
4:内部优化;设计
5:支持热备份;日志
MyISAM引擎索引
MyISAM引擎设计初衷是为了读大于写的场景,不支持事务,也不支持行级锁;只支持表级锁,事务
不支持外键内存
MyISAM支持全文索引
索引和数据是分开的
其余:Memory引擎
基于内存,快速访问,没用过
CVS(没用过)
场景:
日志性:插入行要求高,能够使用MyISAM引擎,可是分析的时候最好拷贝一份去备份库进行分析
传统须要事务处理的,使用InnoDB引擎,