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 配列の書き方の説明
目次IN が遅いのはなぜですか? INとEXISTSのどちらが速いでしょうか?効率を向上させるにはど...
戦争パッケージを準備する1. 既存のSpringBootプロジェクトを準備し、pomに依存関係を追加...
コードをコピーコードは次のとおりです。 <div id="名前"> ...
1. MYSQLインデックスインデックス: MySQL がデータを効率的に取得するのに役立つデータ構...
これにより、png ファイルのアップロードも不可能になりました (後で情報を調べたところ、レジストリ...
シンプルなSpring Boot Webプロジェクトを作成するアイデア ツールを使用して、Sprin...
目次1. グループクエリの概略図2. groupbyキーワード構文の詳細な説明3. 簡単なグループク...
この記事では、参考までに、シンプルなディスククロックを実装するためのjsの具体的なコードを紹介します...
ここでは、HTML ページのサイズを縮小した後に下部にスクロール バーを表示し、スクロール バーをス...
参考までに、シンプルなナンバープレート入力コンポーネント(vue)です。具体的な内容は次のとおりです...
(1)実験環境youxi1 192.168.5.101 ロードバランサーyouxi2 192.168...
Docker を初めて使用する場合は、コンテナの管理を始めるために習得する必要がある基本的なコマン...
この2日間、Baixing.comの筆記試験問題を解いているときに、このような問題に遭遇しました。H...
この記事では、ドロップダウンテーブルの複数選択と検索を実現するためのvue+elementuiの具体...
最近、hadoop テスト クラスターで spark ストリーミング プログラムを実行し、その後、n...