MySQL:innoDB和MyISAM之间的索引差异

时间:2012-09-13 18:27:16

标签: mysql indexing innodb myisam

innoDB中的索引和MyISAM之间的主要区别是什么?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:-2)

InnoDB是一个完整的ACID compliant数据库,支持事务,MVCC,复制,并且像现代文件系统一样保存更改日志,以便在发生突然崩溃或硬件故障时可以恢复到数据库的最后一个已知状态。

MyISAM是MySQL的原始数据库引擎,专注于速度超过可靠性。它缺少事务支持而且不使用日志,所以如果数据库崩溃,它很容易被破坏。在这方面,它很像Linux ext2文件系统。这是高端计算机可能拥有256MB内存和9GB硬盘的时代产品。

在陈旧的硬件上,MyISAM是必需的,在现代硬件上InnoDB实际上表现更好。自推出以来,它一直在不断改进,并且已经过积极优化。 MySQL的每一个版本都继续推动InnoDB的性能,而MyISAM基本上没有受到影响,仅仅留给遗留问题。

因此,除非您有充分的理由将InnoDB用于所有新应用程序。