SharePointのデータの一括更新について聞かれたので、ついでに性能比較もしてみた。
やってみたこと
※設定[データ行の制限]は500のままなので、更新対象は先頭500件

- Patch
- UpdateIf
- ForAll
結論:SharePointリストの一括更新はPatchが速い。
UpdateIf
UpdateIf('501sample', true, {s:"a"} );


Patch
ClearCollect(target, '501sample'); // 全データをPower Apps側に持ってきて
UpdateIf(target, true, {s:"b"} ); // UpdateIfでPower Apps側のデータを一括更新
Patch('501sample',target); // Patchで一気に適用


2025年追記:同じPatchでも「更新したい列のみ」対象とした方が早い
同じPatch一括更新でもForAllなどで「更新したい列のみ」対象として一括更新した方が早い。
ClearCollect(target,
ForAll('501sample',
{
ID:ThisRecord.ID,
s:"b"
}
)
);
Patch('501sample',target);

ForAll
With({target:'501sample'},
ForAll(target,
Patch('501sample',ThisRecord, {s:"f"});
)
);


ということで結論はPatchでの一括更新が一番早かった。
ただし、列数が多い(特に画像列とかがある)SharePointの場合は、ForAllとかを使って「更新したい列のみを対象にPatchで一括更新」した方がさらに早くなる。



