1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

最善の書き込み方法について(主に速度)

Posted at

今回は以下の方法について速度を求めてみた。
①ギャラリーDB参照、書き込みDBのみ
②ギャラリーコレクション参照、書き込みDBのみ、コレクション更新
③ギャラリーコレクション参照、書き込みDB+コレクション

とりあえず下記のようなSharePointリストを作成して
image.png
こんな感じで書き込んでみる。
①の場合

Patch(速度テスト,Defaults(速度テスト),
    {
        Text:Label1.Text,
        Date:DatePicker2.SelectedDate,
        Sentence:Label1_1.Text,
        Number:Value(Label1_2.Text),
        Boolean:true
    }
)

結果は下記のとおりです。
image.png
大体0.5秒

次に②の場合を考えてみる。

Patch(速度テスト,Defaults(速度テスト),
    {
        Text:Label1.Text,
        Date:DatePicker2.SelectedDate,
        Sentence:Label1_1.Text,
        Number:Value(Label1_2.Text),
        Boolean:true
    }
);
ClearCollect(col速度テスト,速度テスト)

結果は下記の様になり
image.png
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
    }
);

その結果がこちら
image.png

5回動作させて平均して0.2秒くらい
結果、③で動作させたほうが処理が早くなることが分かった。
体感的に③が一番いいとわかっていたんですが数字として確認出来て満足!!

ついでに
③でForAllで10回動作させたときの結果
Concurrentで走らせた場合
image.png
そのまま10回動作させた場合
image.png

うーんあんまり変わらないカモー
まぁデータ数など増えてきた場合は変わってくるかもしれないのでおまじないでConcurrentつけます。
以上です。

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?