MyISAM和InnoDB引擎的区别?
MyISAM和InnoDB区别有四个?
第一个是数据存储方式不同,MyISAM里面的数据和索引是分开存储的,而InnoDB是把索引和数据存储在同一个文件里面。
第二个对于事务的支持不同,MyISAM不支持事务,而InnoDB支持ACID特性的一个事务处理。
第三个对于锁的支持不同,MyISAM只支持表锁,而InnoDB可以根据不同的情况去支持行锁、表锁、间隙锁、临键锁。
第四个MyISAM不支持外键,而InnoDB支持外键。
因此可以根据这些特性,可以根据不同场景,去选择合适的存储引擎。
比如如果需要支持事务则必须使用InnoDB,而如果大部分的表操作都是查询,可以选择MyISAM。