MyISAM 和InnoDB 是我们用得最多的两个存储引擎,在MySQL 5.5 版本之前,默认的存储引擎是MyISAM,它是MySQL 自带的。我们创建表的时候不指定存储引擎,它就会使用MyISAM 作为存储引擎。
MyISAM 的前身是ISAM(Indexed Sequential Access Method:利用索引,顺序存取数据的方法)。
5.5 版本之后默认的存储引擎改成了InnoDB,它是第三方公司为MySQL 开发的。为什么要改呢?最主要的原因还是InnoDB 支持事务,支持行级别的锁,对于业务一致性要求高的场景来说更适合。
这个里面又有Oracle 和MySQL 公司的一段恩怨情仇。
InnoDB 本来是InnobaseOy 公司开发的,它和MySQL AB 公司合作开源了InnoDB的代码。但是没想到MySQL 的竞争对手Oracle 把InnobaseOy 收购了。
后来08 年Sun 公司(开发Java 语言的Sun)收购了MySQL AB,09 年Sun 公司又被Oracle 收购了,所以MySQL,InnoDB 又是一家了。有人觉得MySQL 越来越像Oracle,其实也是这个原因。
那么除了这两个我们最熟悉的存储引擎,数据库还支持其他哪些常用的存储引擎呢?