テーブル A を含むプライマリ データベースと、A の別のコピーを含むセカンダリ データベースがあります。アプリケーションを起動するたびに、プライマリ データベースのテーブル A のすべての行がチェックされ、セカンダリ データベースの A の行が更新されます。
この醜い動作の必要性は、レガシー データベースのサポートですが、起動のたびにこの操作を行うと、非常に CPU コストがかかり始めます。行が更新されたときに、タイムスタンプ (Microsoft では行バージョンとも呼ばれます) を保存できることがわかりました。
したがって、私のアプリケーションは、最後に変更/挿入された行の最後のタイムスタンプを保存する必要があり、その後の再起動では、データベースから変更された行 (または挿入された新しい行) についてプライマリ データベースにクエリを実行するだけです。
これにより、処理が大幅に高速化されますが、削除された行をどのように処理すればよいでしょうか?? ありがとうございました
編集:読み取り専用モードでプライマリデータベースにのみアクセスすることに気付きました。したがって、元のデータベースにタイムスタンプを入れることはできません。また、何らかの方法でトリガーを挿入することもできません。
プライマリ データベースを変更せずに変更内容をすばやく確認できる方法はありますか?