InnoDB和MyISAM有什么区别

时间:2010-03-11 17:45:13

标签: java mysql database innodb myisam

InnoDB和MyISAM有什么区别。 我可以去哪一个? 任何提供的区域和其他提供的区域? 这两种类型都有技术限制吗? 请帮我为我的项目选择合适的类型?

3 个答案:

答案 0 :(得分:5)

有几点不同,但我能想到的最重要的是:

  • InnoDB是一个交易引擎 - 即它支持交易
  • InnoDB支持外键
  • MyISAM只锁定表级别 - InnoDB在行级锁定


wikipedia entry on InnoDB列出了一对差异 - 其中一些我没有谈到; - )

对于InnoDB和MyISAM,您可能对MySQL手册的Chapter 13. Storage Engines部分感兴趣,这可能不是一个糟糕的参考。
特别是,我会说:

答案 1 :(得分:1)

MySQL Docs提供了一个很好的破败和用例。您选择的存储引擎将取决于您使用它的目的。

最大的区别是innodb支持符合ACID的事务和行级锁定。

答案 2 :(得分:1)

另一个重要的区别:到目前为止,MyISAM支持全文搜索,但InnoDB不支持。因此,如果您希望搜索索引对文本列有效,则必须使用MyISAM或黑客攻击。