InnoDB 和 MyISAM 有什么区别。我可以去哪一个?一个提供而另一个不提供的任何区域?这两种类型中的任何一种都存在技术限制吗?请帮我为我的项目选择合适的类型?
问问题
1340 次
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 回答