mk_5884 Programming

自分で調べたIT関連のことなどを書いています

MYSQL トランザクション分離レベルを調べる

以下のコマンドを実行する
select @@tx_isolation;

MYSQLは、デフォルトが以下
REPEATABLE READ

↑これはデータを更新するときに待ちが発生しないことを示しているらしい。

例えば、トランザクションAでUPDATE⇒COMMITをしたあと、
トランザクションBでSELECT文を実行するとAの結果が見えてしまうんだと。

別にいいんじゃない?と思ってしまうが、DBの隔離性の観点から外れてしまうんだそうだ。
まぁでも、これで困ることは今の現場ではないかな・・・。
そもそも決済を1日にすればこんなことは起きなそうなのである。


▼参考

トランザクション分離レベルについて極力分かりやすく解説してみた[SQL] - 明日になったら本気出せる