SQL Server の履歴変更の監査: 総合ガイド
質問:
方法パフォーマンスを維持しながら、データベース内の変更履歴を効果的に保存および追跡します。柔軟性?
背景:
システムは、現在のデータ行を含む Table-A と履歴データを保存する Table-A-History の 2 つのテーブルで構成されています。 。 Table-A-History に履歴データを保持しながら、最新の行が常に Table-A に存在するようにする必要があります。
方法とパフォーマンスの考慮事項:
方法 1: 現在の行をテーブル A からテーブル A に移動するTable-A-History
新しいデータ行が使用可能になったら、既存の現在の行を Table-A から Table-A-History に移動します。次に、新しいデータで Table-A を更新します。
利点:
欠点:
方法 2: 更新Table-A と Table-A-History への新しい行の挿入
新しいデータ行が使用可能になったら、Table-A の既存の行を更新し、Table-A-History に新しい行を挿入します。
利点:
欠点:
考慮すべき追加の解決策:
推奨事項:
最適な方法は、特定の要件とパフォーマンスの制約によって異なります。最小限のテーブル サイズとインデックス オーバーヘッドが必要な場合は、監査テーブルを使用する方法 1 が適している可能性があります。履歴レポートを簡単に行うには、効果的な年代測定を行う方法 2 が良い選択になる可能性があります。
以上がパフォーマンスを維持しながら SQL Server の履歴データの変更を効率的に監査するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。