4

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

4

3 回答 3

5

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

  • InnoDB 是一个事务引擎——即它支持事务
  • InnoDB 支持外键
  • MyISAM 只在表级加锁——InnoDB 在行级加锁


InnoDB 上的维基百科条目 列出了一些差异——其中一些我没有谈到 ;-)

你可能会对 MySQL 手册的第 13 章存储引擎部分感兴趣,当谈到 InnoDB 和 MyISAM 时,这可能是一个不错的参考。
特别是,我会说:

于 2010-03-11T17:46:36.460 回答
1

MySQL Docs提供了一个不错的概要和用例。您选择的存储引擎将取决于您使用它的目的。

最大的不同是 innodb 支持 ACID 兼容事务和行级锁定。

于 2010-03-11T17:47:32.123 回答
1

另一个重要区别:到目前为止,MyISAM 支持全文搜索,但 InnoDB 不支持。因此,如果您想让搜索索引在文本列上有效,您必须使用 MyISAM 或随意修改。

于 2010-03-11T17:47:32.467 回答