Mysql的存储引擎
- 多版本并发控制(MVCC)
- MySql从性能方面考虑,实现的方式不是简单的行级锁;而是多版本并发控制。
- MVCC基于保存数据在某个时间节点的快照来完成的
- MySql事务级别:如图:
- 事务隔离的级别越高:则并发能力就越弱
- MySql的默认事务级别是可重复读;为什么是这个目前不知道😕
- MySql的存储引擎:
- InnoDB引擎:
- MySql5.1之后默认的存储引擎
- 支持事务;用于处理大量短期事务
- InnoDB采用MVCC来支持高并发,默认的事务隔离级别是repeat read;通过间隙锁来保证不出现幻读
- InnoDB支持热备份
- MyISAM引擎:
- MySql5.1之前的默认存储引擎
- 不支持事务、行级锁、崩溃后安全修复
- MyISAM针对表锁,并发能力较弱
- 其余MySql引擎
- MySql支持的引擎很多,当需要使用不同的引擎时;需要从事务、数据备份、数据恢复、引擎特性等四个方面权衡
- ibd文件是innodb的表数据文件,而frm文件是innodb的表结构文件,mysiam存储引擎的表中,frm是表结构,MYI文件是索引文件,而MYD文件是数据文件