3

当我测试一些 mysql 提交和回滚过程时,我在 MyISAM 引擎上发现了一些关于提交和回滚的问题。可以提交或回滚在 MyISAM 引擎上不起作用吗?我可以知道 InnoDB 和 MyISAM 引擎之间的区别吗?

4

4 回答 4

13

MyIASM 不支持回滚和提交,你需要使用 InnoDB。

Innodb 和 MyISAM 的区别:

我看到的第一个主要区别是 InnoDB 实现了行级锁,而 MyISAM 只能做一个表级锁。你会在 InnoDB 中找到更好的崩溃恢复。但是,它没有 FULLTEXT 搜索索引,MyISAM 也没有。InnoDB 还实现了事务、外键和关系约束,而 MyISAM 没有。

该列表可以更进一步。然而,他们都有自己独特的优势和劣势。它们中的每一个都比另一个更适合某些场景。

所以总结一下:

  • InnoDB 有行级锁,MyISAM 只能做全表级锁。
  • InnoDB 有更好的崩溃恢复。
  • MyISAM 有 FULLTEXT 搜索索引,而 InnoDB 没有。
  • InnoDB 实现事务、外键和关系约束,MyISAM 没有。
于 2013-07-29T07:35:36.207 回答
3

MyISAM 不支持真实的事务(好像一切都在启用自动提交的情况下运行):

http://dev.mysql.com/doc/refman/5.7/en/ansi-diff-transactions.html

于 2013-07-29T07:40:30.717 回答
1

谷歌的第一个答案......“提交或回滚不适用于 MyISAM”

http://forums.mysql.com/read.php?21,68686,68701#msg-68701

有时用户应该努力搜索而不是写作。

于 2013-07-29T07:36:26.440 回答
1

InnoDB 实现事务。MyISAM 没有。MyISAM 是自动提交的。

于 2014-07-06T10:44:54.560 回答