約30,000行のMySQLデータベースがあります。このデータベースを毎晩リモートサーバーに更新しますが、一度に50行を超えて更新されることはありません。データベースを更新するのは私だけです。CHANGED行のみをリモートサーバーにエクスポートする方法を開発したいと思います。
データベースのスペースを節約し、リモートサーバーにエクスポートする時間を節約するために、更新されなくなり、ローカルデータベースに存在しないレコードを使用して(リモートサーバー上に)「アーカイブ」テーブルを作成しました。しかし、このデータを複数のテーブルに分割することは悪い設計であり、テーブルの構造を変更する必要がある場合に問題が発生する可能性があることを私は知っています。
したがって、データベースを再構築して、同様のテーブル構造を持つすべてのレコードが1つのテーブルに含まれるようにします(データベースがはるかに小さい場合のように)。結果のテーブルのサイズ(すべてのアーカイブレコードを含む)は80,000行を超え、データベースパッケージ全体にエクスポートするには非常に大きくなります。
これを行うには、(1)行が追加または変更されたときに各行の「最終更新」タイムスタンプを更新します(2)「最終更新」タイムスタンプがタイムスタンプより大きい場合にエクスポートするテーブルの行のみを選択します最後のエクスポート操作の例(3)新しい行と更新された行のみを含むエクスポート.sqlファイルを作成するクエリを記述します(4)次のエクスポート中に比較に使用されるエクスポート操作のタイムスタンプを更新します
誰かがこれをしたことがありますか?もしそうなら、私はこれを達成する方法についてのいくつかのガイダンスに感謝します。
スティーブ