Big Object を使用する SOQL
標準の SOQL コマンドのサブセットを使用して、Big Object のインデックスの項目を照会できます。
インデックスクエリを構築するには、インデックスに定義された最初の項目から開始し、欠落が生じないよう最初から最後の項目までクエリに指定します。クエリの最後の項目では =、<、>、<=、>=、IN を使用できます。クエリのそれより前の項目では = 演算子のみを使用できます。
システム項目 CreatedById、CreatedDate、SystemModstamp をクエリに含めることができます。
次のクエリは、テーブル内で LastName__c、FirstName__c、PhoneNumber__c によってインデックスが定義されていると仮定します。
次のクエリは、インデックスに 3 つすべての項目を指定します。このケースでは、PhoneNumber__c の検索条件を範囲にすることができます。
1SELECT LastName__c, FirstName__c, PhoneNumber__c
2FROM Phone_Book__b
3WHERE LastName__c='Kelly' AND FirstName__c='Charlie' AND PhoneNumber__c='2155555555'次のクエリは、インデックスに最初の 2 つの項目のみを指定します。このケースでは、FirstName__c の検索条件を範囲にすることができます。
1SELECT LastName__c, FirstName__c, PhoneNumber__c
2FROM Phone_Book__b
3WHERE LastName__c='Kelly' AND FirstName__c='Charlie'次のクエリは、インデックスに最初の項目のみを指定します。LastName__c の検索条件を範囲にすることができます。
1SELECT LastName__c, FirstName__c, PhoneNumber__c
2FROM Phone_Book__b
3WHERE LastName__c='Kelly'次のクエリは、欠落があるため機能しません。FirstName__c が必要です。
1SELECT LastName__c, FirstName__c, PhoneNumber__c
2FROM Phone_Book__b
3WHERE LastName__c='Kelly' AND PhoneNumber__c='2155555555'Big Object で許可されない SOQL 操作
- インデックスクエリを構築するときは、クエリ内の最初の項目から最後の項目までの間に欠落が残らないようにしてください。
- !=、LIKE、NOT IN、EXCLUDES、INCLUDES 演算子はクエリでは無効です。
- 集計関数は、どのクエリでも無効です。
- 結果のリストを取得するには、クエリに Id 項目は使用しないでください。クエリに Id を含めると、空の ID (000000000000000 または 000000000000000AAA) の結果のみが返されます。
SOQL で許可されない操作を実行するには、代わりに非同期 SOQL を使用してください。