ホームページ  >  記事  >  データベース  >  mysql データベースの 4 つのトランザクション分離レベルの概要

mysql データベースの 4 つのトランザクション分離レベルの概要

不言
不言転載
2019-03-04 15:20:332347ブラウズ

この記事では、MySQL データベースの 4 つのトランザクション分離レベルについて説明します。これには一定の参考値があります。必要な友人は参照できます。お役に立てば幸いです。

mysql データベースの 4 つのトランザクション分離レベルに精通している:

(関連する推奨事項: MySQL チュートリアル)

mysql でトランザクション分離レベルをクエリする

SELECT @@tx_isolation;

mysql データベースの 4 つのトランザクション分離レベルの概要

コミットされていない読み取り (RU) コミットされていない読み取り:

1 つのトランザクションで、他のトランザクションのコミットされていない変更を読み取ることができます

コミットされた読み取り ( RC) コミットされた読み取り:

1 つのトランザクションで、他のトランザクションによってコミットされた変更を読み取ることができます。

反復可能読み取り、(RR) 反復可能読み取り:

a トランザクション 、トランザクションが終了するまで、トランザクションの開始時に表示されたデータを変更せずに繰り返し読み取ることができます。
mysql のデフォルトの分離レベルは RR です。
RR と RC の違いは、RR 分離が RR 分離で使用されることです。トランザクション テーブルから読み取られるデータはすべてのレベルで同じです

##begin; select * from aRR 分離レベルの下: トランザクション A の 2 番目の選択クエリ結果は同じです。トランザクション B
トランザクション A トランザクション B
select * from a


#insert into a(...)

に挿入されたデータは表示されません。RC 分離レベルの下では、トランザクション A の 2 番目の選択クエリは、トランザクション B


に挿入されたデータを表示できます。シリアル化可能 (シリアル読み取り):

各読み取りにテーブル レベルの共有ロックが必要で、各書き込みにテーブル レベルの排他ロックが必要な場合でも、2 つのセッション間の読み取りと書き込みは相互にブロックされます。

以上がmysql データベースの 4 つのトランザクション分離レベルの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。