Mysql 的两种引擎
mysql 的数据存储主要存在两种引擎,即:MyISAM 和 InnoDb,我们常用的为 InnoDb,那么两种存在哪些差异和优缺点呢?
MyISAM 存储引擎
1、不支持事务,每次查询操作都是原子级别的
2、支持表级锁,即每次操作都是对整个表进行加锁操作
3、存储表的总行数
4、一张表包含三个文件:索引文件、表结构文件、表数据文件
5、索引文件的数据域存储指向数据文件的指针
InnoDb 存储引擎
1、支持ACID的事务,支持食物的四种隔离级别
- Read uncommitted 读未提交:即一个事务可以读取另一个未提交事务的数据
- Read committed 读提交:即一个事务要等另一个事务提交后才能读取数据
- Repeatable read 重复度:即事务开启时,不再允许修改操作(但允许插入操作)
- Serializable 序列化:最高级别的事务隔离,事务串行操作,但是效率底下
2、支持行级锁以及外键约束,支持写并发
3、不存储表的总行数
4、一个InnoDb引擎存储在一个文件空间
5、主键索引采用聚集索引,