DB に 2 つのテーブルがあり、1 つにはクライアントに関するデータ (Clients と呼ばれる) が含まれ、もう 1 つのテーブルには clientID、Guid、AddedTime、および IsValid (ClientsToUpdate と呼ばれる) が含まれます。
ClientID はクライアント テーブルに関連し、Guid は一意の識別子、AddedTime はレコードがテーブルに追加された時刻、IsValid はこの ClientID が更新されたかどうかを示すビットです。
私がやりたいことは、ID が ClientsToUpdate にあるすべてのクライアントを更新することです。問題は、ClientsToUpdate テーブルに 80,000 を超えるレコードが含まれており、デッドロックが発生していることです。
私にできることは、while ループなどを使用して、一度に 2000 のクライアントを更新することです。
私のストアドプロシージャは次のようになります。
UPDATE client SET LastLogin=GETDATE()
FROM Clients client
JOIN ClientsToUpdate ctu ON client.ID = ctu.ClientID;
どうすればそれを行うことができますか?