ASP.NET 4.0 (C#) を使用して構築された Web アプリケーションがあり、バックエンドとして SQL Server 2005 を使用しています。
アプリケーション自体はワークフロー エンジンであり、各レコードは 1 か月に 18 日間にわたって 4 人のロール ベアラーによって証明されます。
毎月 1 日に約 20 万件のレコードがあります。
18日間 - システム管理者がこれらのレコードの所有権を変更している可能性がある一方で、何人かの人々がレコードを見て証明しています。
私の質問または心配は、データベースでデッドロックの問題が頻繁に発生することです。
一部のユーザーは自分のキティに 10000 レコードを持っていて、すべてのレコードを一度に証明しようとする場合がありますが、システム管理者は数千レコードの所有権を一括で変更することもあり、その時点でデッドロックが発生し、2 人以上のユーザーが大量のアカウントを持っている場合でも同様です。証明しようとすると、デッドロックが発生します。
トランザクションでストアド プロシージャを広く使用しています。そのような状況をコーディングする方法はありますか?
または単にデッドロックを回避します。
このようにでたらめな方法で質問して申し訳ありませんが、ヒントやヒントは大歓迎です。問題を理解するためにさらに情報が必要な場合はお知らせください。
ありがとう