3

mysql のコミットとロールバックの手順をいくつかテストしたところ、MyISAM エンジンでのコミットとロールバックに関するいくつかの問題が見つかりました。MyISAM エンジンでコミットまたはロールバックが機能しないことはありますか? InnoDB と MyISAM エンジンの違いを教えてください。

4

4 に答える 4

13

MyIASM はロールバックとコミットをサポートしていません。そのためには InnoDB を使用する必要があります。

Innodb と MyISAM の違い:

最初の大きな違いは、MyISAM はテーブル レベルのロックしかできないのに対し、InnoDB は行レベルのロックを実装していることです。InnoDB では、より優れたクラッシュ リカバリが見つかります。ただし、MyISAM のように FULLTEXT 検索インデックスはありません。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

Google での最初の回答...「MyISAM でコミットまたはロールバックが機能しない」

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

ユーザーは、書くよりも sth を検索するように努力する必要がある場合があります。

于 2013-07-29T07:36:26.440 に答える