首页 > 代码库 > MyISAM引擎和InnoDB引擎的特点

MyISAM引擎和InnoDB引擎的特点

随着MySQL的不断更新,MySQL常用的两大存储引擎的MyISAM和InnoDB也在不断的变化着,下面总结下这两大存储引擎的特点,朋友们可以根据业务需求,选择合适的存储引擎。^.^

MyISAM引擎的特点:

  1、堆组织表;

  2、不支持事务;

  3、数据文件和索引文件分开存储;

  4、支持全文索引;

  5、主键索引和二级索引完全一样都是B+树的数据结构,只有是否唯一的区别(主键和唯一索引有唯一属性,其他普通索引没有唯一属性。B+树叶子节点存储的都是指向行记录的row pointer);

  6、有特殊计数器记录当前记录数;

  7、不支持Crash recovery;

  8、索引文件很容易损坏;

 

InnoDB引擎的特点:

  1、索引组织表;

  2、支持事务;

  3、数据文件和索引文件存储在同一个表空间中;

  4、在5.6以前,不支持全文索引;

  5、主键和二级索引数据结构一样都是B+树,但叶子节点存储的键值不一样(主键的叶子节点存储整行数据,因此也称为聚集索引;而二级索引的叶子节点存储是主键的键值)

  6、支持Crash recovery;

  7、相同数据量时,InnoDB表空间文件大小约为MyISAM引擎的1.5~2倍;

 

想了解更多关于MyISAM和InnoDB的性能对比,可以参考Percona的这个http://www.percona.com/blog/2007/01/08/innodb-vs-myisam-vs-falcon-benchmarks-part-1/

MyISAM引擎和InnoDB引擎的特点