Dynamics CRM 2011 SDK Web サービス利用時のベストプラクティス その 2
みなさん、こんにちは。
以前 Web サービス認証におけるベストプラクティス を紹介しましたが、今回も
引き続きベストプラクティスの検証記事をお届けします。
Execute メソッド 対 共通メソッド
SDK には、以下のベストプラクティスの紹介があります。
共通メソッドの使用
共通メソッドは、対応するメッセージで Execute メソッドを使用するよりもすばやく
実行できます。
つまりレコードを作成するなら、 Execute メソッドより、 Create メソッドを利用した
方がパフォーマンスが良いということです。では実際に試してみましょう。
前提
今回も、前回同様コンソールアプリケーションを利用します。また前回のベスト
プラクティスを考慮した開発を行っています。環境は新規に作成した Microsoft
Dynamics CRM 2011 設置型で、重複検出ルールは無効、プラグインやプロセス
はともに存在しない、取引先企業レコードを 1000 件連続作成します。
プログラム A では Create メソッドを、 プログラム B では Execute メソッドを
それぞれ利用しています。
検証結果
パフォーマンスのばらつきを考慮して、5 回検証しました。
プログラム A | プログラム B | |
1 回目 | 21 .2 秒 | 23 .1 秒 |
2 回目 | 17.2 秒 | 17.6 秒 |
3 回目 | 19.0 秒 | 19.5 秒 |
4 回目 | 18.3 秒 | 17.0 秒 |
5 回目 | 16.1 秒 | 20.1 秒 |
ほとんど差はないものの、概ねプログラム A のパフォーマンスが良い傾向が
出ています。また 5000 件 レコードを作成する検証も 1 度だけ行いましたが
1000 件の時と大差ない結果となりました。
プログラム A | プログラム B | |
1 回目 | 81.6 秒 | 82.2 秒 |
まとめ
今回非常に簡単なシナリオをプログラムで検証した限りでは、Execute と
Create 共通メソッドの差を見ることはできませんでしたが、また他の共通
メソッドで検証してみたいと思います。
‐ Dynamics CRM サポート 中村 憲一郎