五:MySQL-经常使用引擎

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引擎,

相关文章
相关标签/搜索