MySQL トランザクション分離レベルを表示する mysql> '%isolation%' のような変数を表示します。 +---------------+----------------+ | 変数名 | 値 | +---------------+----------------+ | tx_isolation | READ-COMMITTED | +---------------+----------------+ セット内の 1 行 (0.00 秒) 現在のトランザクション分離レベルがREAD-COMMITTEDであることがわかります。 現在の分離レベルでのトランザクション分離の詳細を確認し、2 つのクエリ ターミナル A と B を開いてみましょう。 以下に注文表があります。初期データは次のとおりです。 mysql> `order` から * を選択します。 +----+--------+ | ID | 番号 | +----+--------+ | 13 | 1 | +----+--------+ セット内の 1 行 (0.00 秒) 最初のステップは、A と B の両方でトランザクションを開始することです。 mysql> トランザクションを開始します。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) 2番目のステップは、2つの端末の数値を照会することです あ mysql> `order` から * を選択します。 +----+--------+ | ID | 番号 | +----+--------+ | 13 | 1 | +----+--------+ セット内の 1 行 (0.00 秒) B mysql> `order` から * を選択します。 +----+--------+ | ID | 番号 | +----+--------+ | 13 | 1 | +----+--------+ セット内の 1 行 (0.00 秒) 3番目のステップは、Bの数字を2に変更しますが、トランザクションをコミットしません。 mysql> `order` を更新し、number=2 を設定します。 クエリは正常、1 行が影響を受けました (0.00 秒) 一致した行: 1 変更された行: 1 警告: 0 ステップ4: Aの値を照会する mysql> `order` から * を選択します。 +----+--------+ | ID | 番号 | +----+--------+ | 13 | 1 | +----+--------+ セット内の 1 行 (0.00 秒) A の値は変更されていないことがわかります。 ステップ5: トランザクションBを送信し、Aの値を再度照会する B mysql> コミット; クエリは正常、影響を受けた行は 0 行 (0.01 秒) あ mysql> `order` から * を選択します。 +----+--------+ | ID | 番号 | +----+--------+ | 13 | 2 | +----+--------+ セット内の 1 行 (0.00 秒) Aの値が変わったことが分かります ステップ 6. A でトランザクションをコミットし、A と B の値を再度照会します。 あ mysql> コミット; クエリは正常、影響を受けた行は 0 行 (0.00 秒) mysql> `order` から * を選択します。 +----+--------+ | ID | 番号 | +----+--------+ | 13 | 2 | +----+--------+ セット内の 1 行 (0.00 秒) B mysql> `order` から * を選択します。 +----+--------+ | ID | 番号 | +----+--------+ | 13 | 2 | +----+--------+ セット内の 1 行 (0.00 秒) AとBの値が2に変更されていることがわかります。 ここに簡単な概略図があります トランザクション分離レベルが Read Committed の場合、B のトランザクションがコミットされた後、A がコミットされていなくても、B トランザクションのコミットの結果を読み取ることができることがわかります。これにより、ダーティ リードの問題が解決されます。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: CentOS 8 Zabbix 4.4 インストール ガイド
>>: Vue の foreach 配列と js の traversal 配列の書き方の説明
MySQL にリモートでログインする場合、使用するアカウントには特別な要件があります。アカウントのデ...
vue+remを使用したカスタムカルーセルチャートの実装は参考までに。具体的な内容は以下のとおりです...
1. 基礎知識(日付オブジェクトのメソッド) 😜 getFullYear() は年を表す4桁の数字を...
今日は、データベース遅延ジャンプに関する別の典型的な問題を分析しました。このプロセスでは、参考のため...
ウィンドウ環境にmysql5.7.21をインストールします。詳細は次のとおりです。 1. MySQL...
ローカル Windows リモート デスクトップが Alibaba Cloud Ubuntu 16....
mysql 8.0.22 winx64のインストールと設定のグラフィックチュートリアルは参考までに、...
いわゆるカスケード レプリケーションでは、マスター サーバーが 1 つのスレーブ サーバーにのみデー...
目次JavaScriptでは、通常、次のコードのようにクラスを簡単に定義できます。 var サンプル...
ここでは、dockerがインストールされたcentosサーバーを紹介し、リモートリンクサービスを開始...
ドライバーモジュールに渡すパラメータ名、タイプ、権限を宣言します。 module_param(変数名...
この記事では、簡単なパズルゲームを実装するためのjsの具体的なコードを参考までに共有します。具体的な...
1. 構成デフォルトでは、最初の 2 つはチェックされていないので、チェックする必要があります。 (...
前回の投稿では、Web ページの作成方法について説明しました。Web サイトは多くの Web ページ...
新しい Linux ディストリビューションには rc.local ファイルがなくなりました。サービス...