今回は以下の方法について速度を求めてみた。
①ギャラリーDB参照、書き込みDBのみ
②ギャラリーコレクション参照、書き込みDBのみ、コレクション更新
③ギャラリーコレクション参照、書き込みDB+コレクション
とりあえず下記のようなSharePointリストを作成して
こんな感じで書き込んでみる。
①の場合
Patch(速度テスト,Defaults(速度テスト),
{
Text:Label1.Text,
Date:DatePicker2.SelectedDate,
Sentence:Label1_1.Text,
Number:Value(Label1_2.Text),
Boolean:true
}
)
次に②の場合を考えてみる。
Patch(速度テスト,Defaults(速度テスト),
{
Text:Label1.Text,
Date:DatePicker2.SelectedDate,
Sentence:Label1_1.Text,
Number:Value(Label1_2.Text),
Boolean:true
}
);
ClearCollect(col速度テスト,速度テスト)
結果は下記の様になり
0.33秒
うーん。よくわからない。
各5回動作させてみたが①②は似たり寄ったりだった。
どちらも0.3-0.5秒くらいの間の処理スピード
③に関しては順序は関係ないので下記コードで書き込みを実施した。
Concurrent(
Patch(速度テスト,Defaults(速度テスト),
{
Text:Label1.Text,
Date:DatePicker2.SelectedDate,
Sentence:Label1_1.Text,
Number:Value(Label1_2.Text),
Boolean:true
}
),
Patch(col速度テスト,Defaults(col速度テスト),
{
Text:Label1.Text,
Date:DatePicker2.SelectedDate,
Sentence:Label1_1.Text,
Number:Value(Label1_2.Text),
Boolean:true
}
);
5回動作させて平均して0.2秒くらい
結果、③で動作させたほうが処理が早くなることが分かった。
体感的に③が一番いいとわかっていたんですが数字として確認出来て満足!!
ついでに
③でForAllで10回動作させたときの結果
Concurrentで走らせた場合
そのまま10回動作させた場合
うーんあんまり変わらないカモー
まぁデータ数など増えてきた場合は変わってくるかもしれないのでおまじないでConcurrentつけます。
以上です。