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 配列の書き方の説明
毎日jQueryプラグイン - カルーセルチャートを実装するためのjQueryプラグイン。参考までに...
スクロール バーのスタイルを設定するための CSS 実装コードは次のとおりです。 •::-webki...
HTML の空白ルールHTML では、コンテンツ内の複数のスペースは通常 1 つとみなされ、連続する...
序文現在、私は Beetlex のデータ分析プラットフォームに取り組んでいます。この製品の開発では、...
この記事では、例を使用して、MySQL ストアド プロシージャで複数の値を返す方法について説明します...
目次最適化の第一歩: 軽量ベースイメージの使用第2段階の最適化:多段階構築Docker は、ソフトウ...
オンラインショッピングモールデータベース - 商品カテゴリデータ操作(I)プロジェクトの説明電子商取...
nginxのインストール仮想マシンがインターネットにアクセスできることを確認します。 1. ルートユ...
1. readonly 読み取り専用属性なので、値を取得できます2. 無効: 無効な属性、値を取得で...
開発においては、一覧から詳細ページにジャンプし、また詳細ページに戻る際に一覧ページの状態(スクロール...
Docker プロセス、メモリ、カップ消費量を表示dockerコンテナを起動し、dockerinsp...
MySQL データベースにとって binlog バイナリ ログがどれほど重要であるかについては詳し...
目次1. 日付までのタイムスタンプ2. UTCを北京時間に変換するWXS (WeiXin Scrip...
これは、データベース サーバーが、接続が多すぎるのを避けるために、一定時間非アクティブな状態が続くと...
目次序文1. 文字列の長さを取得する2. 文字列の指定された位置の値を取得する(1) charAt(...