SQL Server を使用してデータベース内でデータを処理するための最良の方法について、ガイダンスを探しています。
基本的に、データがロードされた一連の一時テーブルがあり、それらに対して一連の更新ステートメントが実行されます。これらの一連の更新ステートメントの複数のインスタンスが同じテーブルに対して実行されますが、各インスタンスは特定の識別子 (系列) を持つ行のみを更新します。インスタンスが同時に実行されているときのロックの問題/デッドロックを自信を持って回避できるようにしたいと考えています。
これについて私が考えたのは次の2つです。
- すべての update ステートメントにはヒント行ロックが含まれているため、異なる系列をカバーするページ ロックは発生しません。
- 分離レベルを変更します。ダーティ リードが実際に発生することはありません。この状況への最良のアプローチである可能性があることに誰かが光を当てることができますか?