0

外部ソースから更新されるテーブルがあります。彼らが私にデータをプッシュするまで、通常は空のままです。このデータを使用して、他の 2 つのテーブル (プライマリ/外部キーによるリンク) のレコードを追加、更新、または削除することになっています。データは一度に 1 行ずつプッシュされ、年に 2 回大規模なダウンロードが行われることもあります。テーブルをリアルタイムで更新してほしいとのことです。トリガーを使用して、行ごとに読み取るか、テーブルをマージする必要がありますか?

4

1 に答える 1

0

そのテーブルで実行する作業をチェックするためにsprocを実行するストアドジョブがあり、それらはバッチで処理されます。インポート/ステージングテーブルに、バッチ番号またはタイムスタンプで更新できる列を用意します。これにより、問題が発生した場合(間抜けなデータがプッシュされた場合など)、どこから再開するかがわかり、問題の原因となった行を特定できます。

トリガーを使用すると、大量のデータの供給が遅くなるだけでなく、失敗した場合にプロセスがどこに到達したかを記録する機能が失われる可能性があります。

それが常に一度に1行だった場合、トリガーメソッドは大丈夫なオプションだと思います。

編集:バッチ番号/タイムスタンプに関するポイントを明確にするために、これは、インポートをクラッシュさせる新しい/予期しないデータがある場合に、コードを変更して、要求することなくプロセスを好きなだけ再実行できるようにするためです。新鮮な輸入。

于 2012-08-13T13:20:06.163 に答える