Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon getValue()でgetAllValues()を使用する場合のパフォーマンスの影響はありますか


getValue()でgetAllValues()を使用する場合のパフォーマンスの影響はありますか


`getallvalues()`を `getValue()`と比較する場合、パフォーマンスへの影響は、使用しているシステムまたはフレームワークでのこれらのメソッドのコンテキストと特定の実装に大きく依存します。しかし、私たちの理解を導くことができるいくつかの一般原則があります。

##一般的なパフォーマンスに関する考慮事項

1。通話の数:一般的に、データを取得するためのコールが少なくなると、複数の呼び出しを行うよりも効率的です。 `getAllValues()`が必要なすべてのデータを1回の呼び出しで取得する場合、値ごとに `getValue()`を複数回呼び出すよりも効率的かもしれません。

2。データ取得: `getallvalues()`が必要以上に多くのデータを取得すると、データ転送と処理の増加により遅くなる可能性があります。ただし、とにかくすべての値が必要な場合は、個別にではなく、一度にすべてを取得する方が効率的です。

3.キャッシュと最適化:一部のシステムは、結果をキャッシュしたり、 `getValue()`に繰り返し呼び出しを最適化したりする場合があります。これにより、パフォーマンスの違いが軽減されます。ただし、 `getallvalues()`がバルク検索のために最適化されている場合、パフォーマンスが向上する可能性があります。

##特定のシナリオ

-Google Appsスクリプト:Google Appsスクリプトでは、 `getValues()`を使用します( `getallvalues()`に似ています)は、複数の `getValue()`コールで一般的に推奨されます。

- 反射とプロパティアクセス:.NETリフレクションでは、 `getProperties()`のような方法は、反射自体のオーバーヘッドのために遅くなる可能性があります。ただし、キャッシュの結果はパフォーマンスを劇的に改善する可能性があります[1] [7]。

-ServiceNow:serviceNowでは、 `getValue()`は一般に `getDisPlayValue()`よりも高速です。

## 結論

`getAllValues()`と `getValue()`の選択は、アプリケーションの特定の要件と、使用しているシステムのパフォーマンス特性に基づいている必要があります。すべての値が必要であり、 `getallvalues()`でそれらを効率的に取得できる場合、それはおそらくより良い選択です。ただし、値のサブセットのみが必要な場合、または `getValue()`がユースケースに最適化されている場合、それが望ましい場合があります。この決定を下す際に、データサイズ、ネットワークレイテンシ、システム固有の最適化などの要因を常に考慮してください。

引用:
[1] https://lotsacode.wordpress.com/2010/04/13/reflection-type-getproperties-and-performance/
[2] https://www.reddit.com/r/googleappsscript/comments/px959t/getrangegetvalues_performance_implication_when/
[3] https://stackoverflow.com/questions/42776311/optimizing-code-getValue-and-looping
[4] https://drupal.stackexchange.com/questions/214036/getvalue--multiple-values-field-turnのみ - first-value
[5] https://www.servicenow.com/community/in-other-news/how-to-use-getdisplayvalue-and-getvalue-for-gliderecord-or/ba-p/2896719
[6] https://www.servicenow.com/docs/bundle/yokohama-api-reference/page/app-store/dev_portal/api_reference/glideform/concept/c_glideformapi.html
[7] http://www.mattwarren.org/2016/12/14/why-is-reflection-slow/
[8] https://www.ag-grid.com/angular-data-grid/component-cellrender/
[9] https://salesforce.stackexchange.com/questions/8829/getinstance-vs-getvalues-customセッティング