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

レコードを削除するときに「削除処理対象が多すぎます」というエラーが発生するか、処理に時間がかかりすぎる

公開日: Apr 2, 2026
説明
Salesforce でレコードを削除すると、長い待機時間や読み込み時間、タイムアウト、または次のメッセージが発生することがあります。
 

「削除処理対象が多すぎます。

同時に削除できる結合オブジェクトと子レコードは 100,000 個までです。削除するレコード数を減らしてください。削除する 1 個のオブジェクトに 100,000 個を超える子レコードが含まれる場合、適切な数の子レコードを削除してからオブジェクトを削除してください。

ここをクリックして前のページに戻ってください。

DELETE_OPERATION_TOO_LARGE: カスケード削除するレコード数が多すぎます。」


この問題は一般に、削除されるレコードに主従関係または参照関係によって多数のレコードが関連付けられているために発生します。

レコード削除のパフォーマンスの問題と「削除処理対象が多すぎます」メッセージを解決するには、システム管理者が関連レコードを特定して削除し、それらをごみ箱から空にしてから、影響を受けるレコードの削除を再試行する前に、システムから関連レコードを完全に消去するために Salesforce サポートに連絡して手動の物理削除 (PD) を開始する必要があります。

背景情報:


削除操作は、最も多くのリソースを消費する実行可能なデータベーストランザクションの 1 つです。これについての詳細は、「大量データ - データの削除」 を参照してください。「オブジェクトリレーションの概要」ドキュメントを参照して、さまざまなオブジェクトリレーション種別に関するカスケード削除やその他の固有の削除動作を理解することもお勧めします。

「The Force.com Multitenant Architecture (Force.com のマルチテナントアーキテクチャ)」で説明されているように、アプリケーションのパフォーマンス上の理由により 100,000 個の結合オブジェクト削除制限がハードコードされています。また、参照関係項目または主従関係項目を使用して親レコードに関連付けられた子レコード数が 10,000 個を超えることもお勧めできません。関連レコード数が 10,000 個に近づくか超えると、データスキューとみなされ、削除のパフォーマンスやその他のアプリケーションエリアに悪影響を及ぼす可能性があります。

データスキューとベストプラクティスについての詳細は、次を参照してください。
 
解決策
警告
データ操作を実行する前にデータのバックアップを必ず実行してください。詳細は、「Salesforce からバックアップデータをエクスポートする」または「データのエクスポート」を参照してください。少数のレコードセットでテストを実行し、Salesforce 内の対応するレコードを手動で開き、レコードが正しいことを確認して、操作が正常に終了したことを確認することをお勧めします。

影響を受けるレコードを削除したりパフォーマンスを向上させたりするには、システム管理者が関連データや潜在的なスキューの存在する場所を特定する必要があります。データが見つかったら、それらのレコードを削除するかごみ箱から空にして完全に削除する必要があります。これにより、関連レコードを自動スケジュールされたバックグラウンドプロセスを介した物理削除の対象とするか、サポートケースのお客様の要求を介して手動で物理削除を開始できます。

注意: サポートは、前提条件であるお客様の関連オブジェクトとレコードのメタデータ分析、特定、削除を実行することはできません。この作業はサポートの範囲外であり、次の手順はお客様が実行するか、システム管理者がクライアント側で実行する必要があります。



「削除処理対象が多すぎます」メッセージの発生を解決するには、影響を受けるレコードを削除する前に関連レコードを物理削除する必要があります。このプロセス全体は「大量のデータを使用するリリースのベストプラクティス」の「データの削除」の 1 つです。

関連オブジェクトの特定:


組織のデータモデルが比較的単純で、影響を受けるレコードの対応するオブジェクトとのリレーションがほんの少しである場合は、影響を受けるレコードの関連リストを確認したり、レポートを実行したり、SOQL クエリを実行したりすることで関連レコードが多数存在する場所を特定できる可能性があります。

データモデルが複雑で、影響を受けるレコードのカスタムオブジェクトが他のオブジェクトと多数のリレーションを共有している場合、またはリストビューやレポートから関連レコードを見つけることができない場合、関連データやスキューの特定は明白ではない可能性があります。

幸いにも、影響を受けるレコードのオブジェクトのすべてのリレーションをその他と区別する方法がいくつかあります。


- スキーマビルダーを使用して、相互のオブジェクトリレーションを視覚的に確認できます。詳細は、「スキーマビルダーを使用して、削除操作時のオブジェクトリレーション項目を特定してクエリを実行する」を参照してください。

- 『SOQL および SOSL リファレンス』 ガイドの「親子リレーションの識別」の説明に従って組織の Enterprise WSDL を調べることもできます。

 

レコードが存在する場所の特定とリレーショナルデータの削除


影響を受けるレコードの潜在的な関連オブジェクトがすべて特定されたら、各オブジェクトに対して SOQL クエリを実行し、関連データが存在する可能性がある場所を特定できます。

たとえば、取引先を削除できない場合は、関連付けられた取引先責任者レコードが多すぎる可能性があります。取引先責任者オブジェクトに対する次のサンプルクエリの <RecordIdHere> を、影響を受ける取引先の Salesforce の一意の レコード ID に置き換えることで、取引先に関連する取引先責任者の数を確認できます。


SELECT count() FROM Contact WHERE AccountId = '<RecordIdHere>'

クエリの結果により、大きなリレーショナルデータセットが存在する可能性がある場所を特定できます。関連レコードが返されない場合、queryAll()  (またはデータローダの [すべてをエクスポート]) 操作を実行して、ごみ箱にある論理削除された可能性があるレコードを含めます。関連レコードがすでに削除されている場合、それらが完全に削除されて物理削除の対象となるようにごみ箱を空にします。

多数の関連レコードが存在する場所を見つけたら、Salesforce からのバックアップデータのエクスポートデータのエクスポートを行い、関連レコードの ID のファイルを作成してから、影響を受けるレコードの削除の競合または失敗を引き起こしている子レコードや関連レコードの削除を実行します。詳細は、「データローダを使用したデータの挿入、更新、または削除」を参照してください。注意: バックアップの目的で、このファイルのコピーを安全な場所に保存することもお勧めします。 
 

影響を受けるレコードの関連レコードの削除後:


ごみ箱の表示および消去を行い、ごみ箱から削除済みレコードを空にします (実質的に完全削除)。物理削除プロセスは最終的に完全削除対象のレコードを消去しますが、自然なタイミングの前に削除を行う必要がある場合は、サポートに手動の物理削除の開始と実行を承認するケースを登録してください。

関連情報:
Salesforce データのバックアップのベストプラクティス
データ使用量、定義済みの制限、制限の使用率の表示
ナレッジ記事番号

000382586

 
読み込み中
Salesforce Help | Article