MySQL存储引擎MyIsam和InnoDB有哪些区别。
MySQL存储引擎MyIsam和InnoDB有哪些区别。
提示
题眼: 很从四个方面来对它们进行对比。
- 事务支持:MyIsam不支持事务;InnoDB支持事务,拥有ACID四大特性(原子性、一致性、隔离性、持久性),InnoDB在高并发环境下可以更好地处理数据一致性和完整性问题(可以很好解决常见并发问题:1.脏读、2.幻读、3.不可重复读)。
- 行级锁定:InnoDB支持行级锁定,可以提高并发性能;而MyIsam则只支持表级锁定,因此在高并发环境下性能较差。
- 外键约束:InnoDB支持外键约束,MyIsam不支持,所以InnoDB可以确保数据一致性和完整性。
- 索引方式:InnoDB使用B+树索引来管理数据,可以高效地处理大量数据,而MyISAM使用B树索引,不如B+树索引高效(B+树与B树有区别)。
重要
参考答案:
它们两个主要有四个不同。首先的话,InnoDB支持事务,MyIsam不支持事务。其次,InnoDB支持行级锁定,MyIsam则只支持表级锁定。然后,InnoDB支持外键约束,MyIsam不支持。最后,InnoDB使用B+树索引来管理数据,MyISAM使用B树索引。除此以外,他们保存表内数据总数的方式也不同,MyISAM会有一个专门的字段来记录当前表内数据总量,当我们执行count的时候可以直接获取,能够节省很多时间。
