マルチマスターレプリケーションセットアップで2つのMySQLサーバーを構成しています。それぞれが他のスレーブとマスターです。私のアプリケーションでは、いくつかの大きなクエリをバックグラウンドで実行する必要があり、これらのクエリの結果を使用してテーブルにデータを入力します。これらの大規模なクエリを一方のサーバーで実行し、アプリケーションのフロントエンドでもう一方のサーバーを使用できると考えました。このようにして、サーバーがこれらのクエリを実行している間、アプリケーションの速度が低下することはありません。
これらのクエリは非常に大きいINSERT .... SELECT
です。私のレプリケーション設定では、1つのサーバーがクエリを終了すると、INSERTをスレーブに送信するだけでなく、スレーブに元の大きなINSERT/SELECTを実行させるようです。
これは実際に起こっているのですか?または、これが動作であることを確認するために、マスターからスレーブに送信されたコマンドを確認する方法はありますか?私が知ることができる唯一の方法は、CPUの負荷からです。
スレーブがINSERTから結果のINSERTのみを取得する方法はありますか...SELECTはマスターで実行されましたか?