この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

非同期 SOQL

非同期 SOQL は、即時の結果を待てないときに SOQL クエリを実行するための方法です。これらのクエリは、Salesforce エンティティデータ、標準オブジェクト、カスタムオブジェクト、Big Object についてバックグラウンドで実行されます。Salesforce に保存された大量のデータを照会するのに便利です。
使用可能なインターフェース: Salesforce Classic および Lightning Experience の両方
使用可能なエディション: Enterprise Edition、Performance Edition、Unlimited Edition、および Developer Edition (最大 100 万件のレコード)

追加のレコード容量および非同期 SOQL クエリは、アドオンライセンスとして使用できます。


非同期 SOQL は RESTful API として実装され、慣れ親しんだ SOQL の構文でクエリを実行できます。非同期操作のため、複雑なクエリをサブセット化、結合、および作成でき、タイムアウト制限は適用されません。このような状況は、数百万や数十億件のレコードがあり、同期 SOQL よりもパフォーマンスの高い処理が必要な場合に最適です。各クエリの結果は、指定したオブジェクト (標準オブジェクト、カスタムオブジェクト、または Big Object) に格納されます。

非同期 SOQL クエリには、一度に 1 個の同時クエリ数という制限があります。

非同期 SOQL と SOQL

SOQL と非同期 SOQL には、多くの同じ機能があります。では、どのような場合に標準 SOQL ではなく非同期 SOQL クエリを使用するのですか?

次の場合に標準 SOQL を使用します。
  • ユーザを待たせずに結果を UI に表示する。
  • Apex コードのブロック内の操作のためにすぐに結果を返す。
  • クエリが少量のデータを返すことがわかっている。
次の場合に非同期 SOQL を使用します。
  • 何百万ものレコードに対して照会する。
  • 確実にクエリが完了するようにする。
  • 集計クエリやインデックス以外の絞り込みを実行する必要がない。

使用事例: 絞り込みによる作業データの作成

AsyncQuery と Data Pipeline の比較

たとえば、Salesforce によって収集された長年の商談履歴を分析するとします。この結果により、成立する可能性の高い現在および将来の商談を特定し、売上予測の全容を把握しやすくなります。商談履歴データはアプリケーション全体のすべての項目履歴データと共に保存されているため、データ量が大きすぎて直接照会できません。その場合は非同期 SOQL を使用します。非同期 SOQL を使用して、関心のあるデータのより小さい代表的なサブセットを抽出するクエリを作成できます。この作業データセットをカスタムオブジェクトに保存し、レポート、ダッシュボード、または他の Lightning Platform 機能で使用できます。

使用事例: 粒度の粗い集計による作業データの作成

AsyncQuery と Data Pipeline の比較

Big Object では、既存のデータを使用してアプリケーションでより詳細なレベルを把握できるようになりました。たとえば、個人とマーケティングキャンペーンの各インタラクションが、利用可能だが扱いにくい未加工の形式のデータとして保存されているとします。非同期 SOQL により、そのデータをキャンペーンや日別に集計でき、完全なデータセットの関連する詳細を利便性の高いより小さなデータセットに抽出できます。前の例のように、より小さな作業セットをカスタムオブジェクトに保存して、レポートやダッシュボードで使用できます。