2012-02-10 13 views
2

MySQLのデッドロックと分離レベルの関係を示すために、sysbenchベンチマーク(デフォルト設定)を使用していくつかのグラフを生成しようとしています。デッドロックへの影響を測定するMySQL分離レベル

しかし、私はいくつかのstrage結果を得る:私は、反復可能読み取りが(そうである)コミット読んでより多くのデッドロックを持っているだろうという印象の下にあったが、コミットされていないお読みよりも有意。実際には、コミットされていない読み取りにはどちらの場合よりも多くのデッドロックがあることが判明します。

これは正常ですか?もしそうなら、なぜですか?

答えて

1

Deadlock can happen in any isolation level。実際のテストがなくてもわかりにくいですが、読んでコミット/リピート可能な読取りの場合、更新される行の値を読み取る必要がある場合、値はロールバック・ログから読み取られますが、読取りの場合未コミットロールバックログが使用されていないので、それは行を更新するためにロックされ、読み出しが書き込まれる実際の値を待たなければなりません。しかし、それは野生の推測です。コミットされていないreadでより多くのデッドロックが発生するのは、奇妙な振る舞いです。私はあなたが実際のテストを提供できるかどうか、テストが異なるバージョンのMySQLで繰り返されるかどうかについて興味を持っています。

関連する問題