Loading

QUERY_TOO_COMPLICATED (「クエリが複雑すぎます」) エラー

公開日: May 29, 2026
説明
SOQL クエリが 100,000 文字の文字制限を超えると、エラーが発生する可能性があります。 これが問題となる可能性がある状況の例はいくつかあります。

数式項目は SOQL クエリ内ではシンプルに表示されていても、SQL が生成されたときには同じ数式項目が複雑になる場合があります。多くのこのような数式項目の組み合わせがこのエラーを発生させている可能性があります。

エラー「QUERY_TOO_COMPLICATED: Query is either selecting too many fields or the filter conditions are too complicated. 」 (クエリで選択されている項目が多すぎるか、フィルタ条件が複雑すぎます) 。

この同じクエリの制限により、Lightning Experience のレコードページレイアウトが下のエラーで失敗する場合もあります。

エラー: 「アクセスしようとしているレコードが見つかりませんでした。他のユーザにより削除されたか、システムエラーが発生した可能性があります。システム管理者にお問い合わせください。」

Lightning Experience では、自動生成された SOQL を使用してレコードページレイアウト用の項目を取得するので、お客様が記述した SOQL がなくてもこの問題が発生する可能性があります。ページレイアウトまたは多数の複雑な数式項目にかなりの数の項目 (250 より大きい可能性がある) がある場合は、この制限を超えて実行される可能性があります。

format メソッドを使用するために SOQL を必要とし、各通貨項目の項目 API 名の長さの少なくとも 2 倍の文字を増やす必要があるため、多数の通貨項目を含めることで文字制限に達する可能性があります。
解決策
数式項目は、計算量が多い場合や、同時に実行されている数式が多い場合、実行時に複雑になる可能性があります。
解決策は、クエリから数式項目を削除し、非数式項目のみをフェッチすることによってクエリを簡略化することです。試行錯誤は、問題の数式項目を特定するのに役立ちます。

さらに、各項目の API 名で使用される文字を減らすことで、問題の解決に役立ちます。

getDescribe() を使用したときに「System UnexpectedException」エラーが発生する
ナレッジ記事番号

000386662

 
読み込み中
Salesforce Help | Article