問題を見つける 上位の SQL ステートメントを取得すると、DB が大量の 詳しい紹介 この SQL の主な機能は、トランザクションが読み取り専用トランザクションであるかどうかを判断することです。 MySQL 自体は読み取り専用トランザクションを最適化しますが、これは MySQL バージョン 5.6.5 以降でのみ表示されます。 http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_tx_read_only MySQLドライバパッケージを見つける 接続実装.java: ご覧の通り、if 条件では MySQL のバージョンが判定されており、さらに デフォルトでは、接続文字列情報には useLocalSessionState パラメータの設定が含まれず、この値はデフォルトで false になります。 この値は、ドライバーが autocommit、read_only、およびトランザクション分離の内部値 (JDBC 側のローカル値) を使用するかどうかを決定します。 false に設定されている場合、これらの 3 つのパラメータを判断する必要があるシナリオでは、ステートメントを更新する前など、リモート要求にステートメントを送信する必要があります。 セッションが読み取り専用かどうかを確認するには、 true に設定すると、ローカル値のみを取得する必要があります。これにより、一部のインスタンスに 通常、ドライバーはローカル値がリモート サーバー値と一致していることを確認できます。アプリケーションが setAutoCommit、setTransactionIsolation、setReadOnly インターフェイスを呼び出してパラメータ値を設定すると、リモート サーバーと同期されます。 具体的には、 useLocalSessionState が true の場合、値がローカル値と一致しない場合は、リモート更新に送信されます。 useLocalSessionState が false の場合、設定された値がローカル値と一致しているかどうかに関係なく、毎回リモート更新に送信されます。これは、一部のインスタンスに autocommit ステートメントがさらに多く設定されている理由を説明できるかもしれません。 ただし、ユーザーが JDBC インターフェイス (setAutoCommit など) を介してパラメータを設定せずに、 関連設定 SQL ステートメント: set autocommit=0 /*セッションの自動コミットモードを設定する*/ 対応するJDBCインターフェース: setAutoCommit(false) set tx_isolation='read-committed' /*トランザクション分離レベルを設定する*/ 対応するJDBCインターフェース: setTransactionIsolation('read-committed') set tx_read_only=0; /*読み取り専用トランザクションを設定する*/ 対応するJDBCインターフェース: setReadOnly(false) useLocalSessionState のデフォルト値を true に設定すると、ビジネス ロジックの意味が変わる可能性があります。トリガー条件は、ユーザーが SQL ステートメントを通じて自動コミット パラメータ、分離レベル パラメータ、または読み取り専用トランザクション パラメータを直接設定することです。 要約する 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。 以下もご興味があるかもしれません:
|
>>: Python スクリプトを Ubuntu で直接実行する方法
序文この記事では、主にWeb開発のためのクロスドメインソリューションを紹介し、参考と学習のために共有...
システム環境: Win10 64ビットMySQL バージョン: mysql-5.7.18-winX6...
MySQL SQL ステートメントにコメントを追加できます。MySQL SQL ステートメントのコメ...
カウントスクリプト #!/bin/sh 引数の数=$# [ $numOfArgs -ne 1 ]の場...
1. 単純な三角形を実装するCSS ボックス モデルの境界線を使用すると、次のような三角形を実現で...
MySQL のインストールについてはインターネット上に多くの記事がありますが、今日ノート PC にイ...
この記事は Linux centos8 をベースにして、docker をインストールし、イメージをプ...
車輪の再発明として、ここでは再パッケージ化を使用して Docker ベースの Hadoop イメージ...
Vue 3.x プロジェクトの作成 npm init @vitejs/app my-vue-app ...
この記事では、例を使用して MySQL の悲観的ロックと楽観的ロックについて説明します。ご参考までに...
目次スロットなしVue2.x スロットスロット付き名前付きスロットスロット属性なしスロットの簡単なサ...
MySQL DECIMALデータ型は、データベースに正確な数値を保存するために使用されます。会計シス...
1. 前の章では、プログラムを yum リポジトリに直接インストールできることを学びましたが、そのた...
目次レムフォルクスワーゲンサードパーティのUIフレームワークに適応する結論モバイル開発における最も一...
序文JavaScript では、document.querySelector("#demo...