ロジックに基づいてフィールドの一部を更新することにより、特定のエンティティのレコードを更新する一括更新アプリケーションがあります。起動したくないエンティティの更新にワークフローが添付されているため、レコードの更新にTargetUpdateを使用しています(通常の更新を使用する場合)。しかし、それらのレコードを更新するには永遠に時間がかかります。現在、1Kレコードの更新には約1.5時間かかります。実際のシナリオでは、毎日最大5〜6時間の期間(夜間のジョブ)で約1万件のレコードを更新する必要があります。パフォーマンスを向上させる方法はありますか?
Centity newentityobect;
newentityobect= new Centity()
{
asp_field1 = new Key()
{
Value = new Guid(field1Value)
},
asp_field2 = field2Value,
asp_field3 = field3Value,
asp_field3 = field4Value
};
TargetUpdateCentity objx = new TargetUpdateCentity();
objx.Centity = newentityobect;
UpdateRequest updateCentity = new UpdateRequest();
updateCentity.Target = objx;
UpdateResponse updatedCentity = (UpdateResponse)crmUpdateObject.Execute(updateCentity);
上記は、レコードを更新するために使用している小さなコードスニペットです。