Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

Improve SOQL Query Performance - Selectivity and Custom Indexes (SOQL クエリのパフォーマンスの改善 - 選択性とカスタムインデックス)

公開日: May 7, 2026
説明
※この記事は英語版を翻訳しており、一部機械翻訳を含むため内容は後日更新される可能性があります。最新の内容は英語版を参照してください。表示言語は画面右下の言語名から切り替えられます。


カスタムインデックスを適切に使用しないと、クエリ結果が遅くなることがあります。Force.com がクエリ対象のオブジェクトに必要な行だけをスキャンするように、選択的な検索条件を作成することをお勧めします。Force.com クエリオプティマイザーは、非選択的な検索条件を含むクエリを実行する際に、その検索条件が参照する項目にすでにインデックスがある場合でも、インデックスを使用しません。 
              
 
解決策

ケースを作成する前に

 

カスタムインデックスリクエストに含める詳細


リクエストには必ずこの情報を含めてください。この情報を提供する必要がある理由の概要は以下のとおりです。 

  • インデックスを作成する項目 - どの項目のインデックスが必要で、どの項目が不要かを明確にする。 
  • バインド値を持つ SOQL クエリ - 検索条件の一部として含まれる項目の、バインド値が必要になる場合があります。また、ログインアクセス権があれば、カスタム項目、例えば以下のように Severity__c のサンプル値を使用し、クエリを実行できます。
    • Select Id, Case_Number__c from Case where Severity__c = 'Critical' - 正しいです。この場合の Critical はバインド値です。
    • Select Id, Case_Number__c from case where Severity__c = :severityLevel - 正しくありません。このクエリは実行できません。
  • ログインアクセスログインアクセスがあれば、問題を再現し、正しく理解できます。
  • エラーメッセージ/タイムスタンプエラーログやタイムスタンプがあれば、インデックスの必要性を理解するのに役立ちます。
  • エラーの再現手順 - お客様と同じ手順を踏むことで、問題の理解を深めることができます。 
  • 検索条件の追加の可能性を評価する - 機能要件に影響を与えない範囲でクエリに検索条件を追加することで、インデックスを追加することなく問題を解決できることもあります。インデックスを作成できない場合、またはインデックスの効果が得られないことが判明した場合は、クエリに検索条件を追加し、結果のレコード数を減らすことをお勧めします。これが不可能な場合は、検索条件を追加できない理由をご連絡いただければ、他の可能性をお調べします。
ナレッジ記事番号

000387172

 
読み込み中
Salesforce Help | Article