トランザクション分離レベルを確認する MySQL では、'%tx_isolation%' などの show variables や select @@tx_isolation; ステートメントを通じて、現在のトランザクション分離レベルを表示できます。 現在のトランザクション分離レベルを表示するための SQL ステートメントと実行結果は次のとおりです。 mysql> '%tx_isolation%' のような変数を表示します。 +---------------+-----------------+ | 変数名 | 値 | +---------------+-----------------+ | tx_isolation | 繰り返し読み取り | +---------------+-----------------+ セット内1列、警告1回(0.17秒) mysql> @@tx_isolation を選択します。 +-----------------+ | @@tx_isolation | +-----------------+ | 繰り返し読み取り | +-----------------+ セットに 1 行、警告 1 件 (0.00 秒) 結果は、MySQL の現在のトランザクション分離レベルが REPEATABLE-READ であることを示しています。 さらに、次のステートメントを使用して、それぞれグローバル トランザクション分離レベルとセッション トランザクション分離レベルを照会できます。 @@global.tx_isolation を選択します。 @@session.tx_isolation を選択します。 ヒント: MySQL 8.0.3 では、tx_isolation 変数は transaction_isolation 変数に置き換えられました。 MySQL 8.0.3 でトランザクション分離レベルをクエリするには、上記のクエリの tx_isolation 変数を transaction_isolation 変数に置き換えるだけです。 トランザクション分離レベルを変更する MySQL には、単一セッションまたはグローバルにトランザクション分離レベルを変更できる SET TRANSACTION ステートメントが用意されています。構文の形式は次のとおりです。
SESSION および GLOBAL キーワードは、変更されたトランザクション分離レベルの範囲を指定するために使用されます。
どのユーザーでもセッションのトランザクション分離レベルを変更できますが、グローバル トランザクション分離レベルを変更できるのは SUPER 権限を持つユーザーのみです。 通常のユーザーを使用してグローバル トランザクション分離レベルを変更すると、この操作を実行するにはスーパー権限が必要であることを示すエラー メッセージが表示されます。SQL ステートメントと実行結果は次のとおりです。 C:\Users\leovo>mysql -utestuser -p パスワードを入力してください: ****** MySQL モニターへようこそ。コマンドは ; または \g で終わります。 MySQL接続IDは41です サーバーバージョン: 5.7.29-log MySQL コミュニティサーバー (GPL) Copyright (c) 2000, 2020, Oracle およびその関連会社。無断複写・転載を禁じます。 OracleはOracle Corporationおよびその関連会社の登録商標です。 その他の名称は各社の商標である場合があります。 所有者。 ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。 mysql> SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; エラー 1227 (42000): アクセスが拒否されました。この操作には SUPER 権限 (少なくとも 1 つ) が必要です。 mysql> SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; クエリは正常、影響を受けた行は 0 行 (0.00 秒) 例1 セッションおよびグローバル トランザクションの分離レベルを変更するには、SET TRANSACTION ステートメントを使用します。SQL ステートメントと実行結果は次のとおりです。 mysql> @@session.tx_isolation を選択します。 +------------------------+ | @@session.tx_isolation | +------------------------+ | シリアル化可能 | +------------------------+ セットに 1 行、警告 1 件 (0.00 秒) mysql> グローバルトランザクション分離レベルを REPEATABLE READ に設定します。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) mysql> @@global.tx_isolation を選択します。 +-----------------------+ | @@global.tx_isolation | +-----------------------+ | 繰り返し読み取り | +-----------------------+ セットに 1 行、警告 1 件 (0.00 秒) set tx_isolation コマンドを使用して、現在のセッションのトランザクション分離レベルを直接変更することもできます。SQL ステートメントと実行結果は次のとおりです。 mysql> tx_isolation='READ-COMMITTED' を設定します。 クエリは正常、影響を受けた行は 0 行、警告は 1 件 (0.00 秒) mysql> @@session.tx_isolation を選択します。 +------------------------+ | @@session.tx_isolation | +------------------------+ | コミット読み取り | +------------------------+ セットに 1 行、警告 1 件 (0.00 秒) 知識ポイント補足 MySQL トランザクション分離レベル読み取りコミット フローチャート 上記は、MySQLのトランザクション分離レベルの表示と変更の例の詳細内容です。MySQLのトランザクション分離レベルの表示と変更の詳細については、123WORDPRESS.COMの他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: Dockerプライベートウェアハウスレジストリの導入
1. はじめにDocker には、タスクを構成する複数の Docker コンテナをオーケストレーショ...
スロットとは何ですか?スロット ディレクティブは v-slot であり、現在 slot と slot...
テーブル ヘッダーの背景画像を設定します。任意の GIF または JPEG 画像ファイルを使用できま...
FirefoxでBGMを再生するための推奨コードがテストに合格しました空のコントロールパネルを開いて...
DockerデーモンソケットDocker デーモンは、 unix 、 tcp 、 fdの 3 種類の...
1. HTML マークアップ言語とは何ですか? HTML は、Web ページの情報を表すマークアッ...
目次1. データベースのボトルネック2. サブライブラリとサブテーブル2. 横長テーブル3. 垂直サ...
Postfix は、Linux システム上で電子メールをルーティングまたは配信するために使用される無...
目次HTML構造の定義入力タグのバインディング属性入力タグはキーダウンイベントをリッスンしますli ...
皆さんの時間は貴重だと承知しているので、プロセス コマンドを直接書き留めておきます。設定できます。原...
MySQL ストレージ エンジンの概要ストレージ エンジンとは何ですか? MySQL のデータは、さ...
単一のDOMノードでカルーセルを実装するbackgroundImage を使用すると、複数の画像を追...
目次1. 仮想ホスト1.1 仮想ホストの概念1.2 仮想ホストタイプ2. IP仮想ホストに基づく2....
1. クエリを最適化するには、テーブル全体のスキャンを避けてください。まず、where と orde...
序文馬を書いていたとき、水平方向と垂直方向の中央揃えの方法について、誰もあまり知らなかったと思います...