Newer Version Available
Apex Connector Framework の検索条件の評価
検索条件は、説明する条件に行が一致するかどうかを判断し、一致する場合は true と評価します。
たとえば、DataSource.Filter の columnName が meaningOfLife に、columnValue が 42 に、type が EQUALS に設定されている場合は、リモートテーブルの meaningOfLife 列のエントリが 42 であるすべての行が返されます。
あるいは、検索条件の type が LESS_THAN に、columnValue が 3 に、columnName が numericCol に設定されている場合は、numericCol の値が 3 未満のすべての行を含む DataSource.TableResult オブジェクトを作成できます。
パフォーマンスを向上させるには、絞り込みをすべて外部システムで実行します。たとえば、Filter オブジェクトを SQL または OData クエリに変換するか、このオブジェクトを SOAP クエリのパラメータに対応付けます。外部システムが大量のデータセットを返した場合、Apex コードで絞り込みを行うと、すぐにガバナ制限を超過します。
すべての絞り込みを外部システムで実行できない場合は、できる限り外部システムで行い、返されるデータをできるだけ少なくします。その後、Apex コードで少量のデータコレクションを絞り込みます。