0

SFDCへのADO.NETコネクタのふりをするDevArtコネクタを使用しています。非常に遅いです(一部のクエリでは13分)。どのアプローチが最も早くデータを返しますか?

そして、万が一、SFDCへのOData APIは高速ですか?

4

1 に答える 1

2

使用できるAPIはいくつかあります。

  1. SOAP API-
    CRUD操作とクエリ(SOQL)のサポート。一部のメタデータのサポート。エンタープライズとパートナーのバリエーションがあります。VisualStudioでWebサービス参照として追加できます。
  2. RESTAPI

    「通常、REST APIは少数のレコードで動作します。そのURLを使用して単一のレコードを取得できます。また、クエリを実行して、そのクエリに一致するレコードのセットを戻すこともできます。」Salesforce API –それらが何であるかとそれらをいつ使用するか

  3. Bulk API
    RESTは、XMLまたはCSVデータを出力するバッチプロセスを開始しました)

  4. メタデータAPI
    は、構成またはデプロイメントスタイルのタスクを実行していない限り、おそらく適用できません。
  5. Apex API
    繰り返しますが、Apexクラスを使用してテストケースを実行している場合を除き、適用されません。
  6. Streaming APIを使用
    すると、クエリを登録し、クエリ結果が変更されたときに更新をプッシュすることができます。

それらはすべて長所と短所があります。BulkAPIの紹介に良い要約があります。

推測では、DevArtコネクタはSOAPAPIに基づいていると思います。SOAP APIは高速ですが、結果がページ化され、SOAP応答が大きくなる可能性があるため、非常に多くのレコードを戻すための理想的な方法ではありません。使用されないフィールドのクエリなど、他の要因も不必要に遅くなる可能性があります。

ADO.NETコネクタは、SOQLへのクエリの解釈を実行している必要があります。SOQLに変換すると、非効率的な結合が存在する可能性があります。

最善の解決策は、クエリしようとしているレコードとフィールド、およびどのように処理することを期待している結果に依存するのではないかと思います。

于 2012-11-22T21:43:58.863 に答える