1. はじめに 数日前、開発仲間から、フィールドを同じ値に更新すると binlog が記録されるかどうか尋ねられました。私は、記録されないと答えました。 厳密に言えば、シナリオを区別する必要があるため、この答えは不正確です。更新ステートメントを binlog に記録するかどうかは、binlog_format の設定によって異なります。特定の状況では、練習をすれば完璧になります。 2回目のテスト 2.1 binlog_formatはROWモードです 2.2 binlog_formatはSTATEMENTモードです binlog の内容を解析し、更新ステートメントを完全に記録します。 2.2 binlog_format は MIXED モードです row_format が mixed または statement 形式の場合、binlog のサイズが変わります。データが実際に更新されたかどうかに関係なく、MySQL は実行された SQL を binlog に記録します。 3つの結論 行ベース モードでは、サーバー レイヤーは更新するレコードを照合し、新しい値が古い値と一致していることを検出します。レコードは更新されず、binlog を記録せずに直接戻ります。 MySQL は、ステートメントまたは混合形式に基づいて更新ステートメントを実行し、更新ステートメントを binlog に記録します。 では、なぜ statement と mixed は完全な SQL ステートメントを記録するのでしょうか?これについては次の記事で説明します。ソース コードを解析する必要があり、Clion を使用して MySQL デバッグ環境をコンパイルすることにまだ成功していないためです。 上記は、MySQL|update フィールドに同じ値がある場合に、binlog の詳細が記録されるかどうかを確認する例です。MySQL update フィールドの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: Alibaba Cloud Nginx はドメイン名アクセス プロジェクトを実装するために https を設定します (グラフィック チュートリアル)
>>: Vue カプセル化に基づくプルダウン更新およびプルアップ読み込みコンポーネント
1. catalina.bat は UTF-8 に設定する必要があります。UTF-8 に設定しないと...
並べ替えツールLinux の sort コマンドは、テキスト ファイルの内容を並べ替えるために使用さ...
目次基本タイプあらゆるタイプ配列タプルインタフェース関数自己推論を入力する結合タイプ(1つ以上選択)...
この記事では、centos7 環境でソース コードから mysql5.7.16 をインストールする方...
年末なので仕事も少なくなっています。私が何もせずにいるのを見ると、上司はきっと不快に思うでしょう。そ...
目次MySQL 共通関数1. 数値関数文字列関数3. 時間機能4. システム機能5. 集計関数MyS...
マイグレーションMySQL 入門MySQL はもともとオープンソースのリレーショナル データベース管...
序文そこでこのブログを書きました。このブログでは大物の記事からいくつかの知識も推奨しています。侵害が...
1. maxPostSize を設定する理由は何ですか? tomcat コンテナには送信データのサイ...
誰もがスクラッチ チケットで遊んだことがあると思います。子供の頃、ポケットにお金が入るとすぐに友達に...
HTML は Hypertext Markup Language の略です。現在、ほとんどの Web...
私は最近、会社で統計レポートの開発に関わるプロジェクトに取り組んでいました。データの量が比較的多かっ...
1. mysqldump コマンドを使用してデータベースをエクスポートします (このコマンドのパスで...
実際のプロジェクトでは、複数のテーブル間に関係が存在します。 1 つのテーブル内のすべてのデータを取...
たとえば、新しいテーブルを作成したり、既存のテーブルのデータを更新したりすると、これらのイベントは、...