遅い UPDATE ステートメントを実際に記録/見つける方法に興味があります。
オプションがあることは承知していますが、このファイルでは、ログ ファイル内にslow_query_log
UPDATE ステートメント (つまりUPDATE
、DELETE
、または) が含まれていないことがわかりました。INSERT
使用を提案した人もbinary log
いましたが、スレーブデータベースでこれを読み取ろうとすると、ほとんどの UPDATE ステートメントが 0 秒を表示しています。
遅い UPDATE ステートメントを実際に記録/見つける方法に興味があります。
オプションがあることは承知していますが、このファイルでは、ログ ファイル内にslow_query_log
UPDATE ステートメント (つまりUPDATE
、DELETE
、または) が含まれていないことがわかりました。INSERT
使用を提案した人もbinary log
いましたが、スレーブデータベースでこれを読み取ろうとすると、ほとんどの UPDATE ステートメントが 0 秒を表示しています。
私はむしろアプリケーションでこれを行いたいのですが、それ以外の場合、mysql バイナリ ログは、私が考えることができるそのような情報の唯一のソースです。
ただし、マスター バイナリ ログを使用する必要があります。これは、スレーブがマスターに遅れをとっている時間を含めるためです。以下はdev.mysql.comからの抜粋です。
exec_time は、マスター サーバーでイベントの実行に費やされた時間です。スレーブでは、スレーブの終了実行時間からマスターの開始実行時間を差し引いた差です。この差は、レプリケーションがマスターよりどれだけ遅れているかを示す指標として機能します
データベース統計のために、MYSQL エンジンによって内部的に作成および維持されるパフォーマンス スキーマを使用することをお勧めします。
パフォーマンスや遅いクエリ/更新/選択などに関する必要なすべての情報を取得でき、その情報からチューニングを考えることができます。