ホーム / Salesforce / Salesforce
Salesforce MIXED_DML_OPERATION 遅延・負荷・タイムアウト
Salesforce で MIXED_DML_OPERATION が発生した時に、遅延・負荷・タイムアウト の観点で原因、出力例、分岐対応、避ける操作を整理します。
最初の確認コマンド
grep -R "MIXED_DML_OPERATION" ./logs最初に見る証拠
MIXED_DML_OPERATION は「遅延・負荷・タイムアウト」として確認します。最初に見る証拠は latency, worker saturation, connection pools, locks, and long-running jobs です。
検索クエリ
Salesforce MIXED_DML_OPERATIONSalesforce error MIXED_DML_OPERATIONSalesforce MIXED_DML_OPERATION 遅延・負荷・タイムアウト
この状況で発生します
The issue appears during traffic spikes, exports, batch jobs, or slow queries. 画面上の文言だけで判断せず、まず latency, worker saturation, connection pools, locks, and long-running jobs を確認し、正常出力と失敗出力を比較します。
症状チェック
- MIXED_DML_OPERATION が Salesforce の画面またはログで繰り返されます。
- profile, permission set, flow, trigger, owner state が正常ケースと失敗ケースで異なります。
- data permission issue from Apex/Flow automation issue を分けた時だけ問題が見えます。
- リリース、権限、設定、データ更新の直後に起きやすいです。
可能性が高い原因
- duplicate or lock conflict caused by concurrent writes, missing idempotency, unique keys, transaction order, or remote state drift.
- 遅延・負荷・タイムアウト では latency, worker saturation, connection pools, locks, and long-running jobs が最初の手掛かりです。
- 正常ケースと失敗ケースを比較しないと原因候補が広がりすぎます。
- キャッシュ、権限、ネットワーク、プロキシ状態が一部ユーザーだけ違って見えることがあります。
1分で先に確認
- 初回発生時刻、直近変更、影響ユーザー、URL、オブジェクトIDを記録します。
- 正常/失敗ケースで profile, permission set, flow, trigger, owner state を同じ時間帯に比較します。
- 仮説を確認します: duplicate or lock conflict caused by concurrent writes, missing idempotency, unique keys, transaction order, or remote state drift.
- 遅延・負荷・タイムアウト かを判断します: latency, worker saturation, connection pools, locks, and long-running jobs.
- 設定変更前に現在値を保存します。
最初に見る証拠
MIXED_DML_OPERATION は「遅延・負荷・タイムアウト」として確認します。最初に見る証拠は latency, worker saturation, connection pools, locks, and long-running jobs です。
出力例
正常出力
Connect, first byte, and total time stay within the expected budget.失敗出力
Connect time, first byte time, or total time spikes before the error.出力別の判断
- The issue appears during traffic spikes, exports, batch jobs, or slow queries.
Find whether the delay is network connection, upstream processing, database lock, or worker exhaustion. - 正常ケースと失敗ケースの出力が違います。
差分が出たレイヤーで先に対応します: For MIXED_DML_OPERATION, apply the fix only after reproducing the same condition and saving the before/after evidence for this exact code. - コマンドは正常でもユーザー画面だけ失敗します。
キャッシュ、Cookie、権限、ネットワーク位置を分けて確認します。
避ける操作
- Do not only raise timeouts while the synchronous workload remains unchanged.
- 原因レイヤーを確認する前に複数設定を同時変更しないでください。
- データ削除、広い権限付与、全面的なセキュリティ無効化を初動対応にしないでください。
検証状態
自動生成ドラフト: コード別の原因、コマンド、出力分岐、避ける操作を含みます。公式ドキュメントと実運用検証は継続して補強します。
先に実行するコマンド
grep -R "MIXED_DML_OPERATION" ./logssfdx force:user:displaysfdx force:apex:log:listsfdx force:data:soql:query -q "SELECT Id FROM User LIMIT 1"grep -R "MIXED_DML_OPERATION" force-appgrep -R "duplicate\|deadlock\|conflict\|lock\|rejected" ./logsgit fetch --all --prunegit status --short --branchcurl -w 'connect=%{time_connect} start=%{time_starttransfer} total=%{time_total}\n' -o /dev/null -s https://example.com解決順序
- MIXED_DML_OPERATION の全文、失敗URL、ユーザー、オブジェクトID、直近変更を記録します。
- duplicate or lock conflict caused by concurrent writes, missing idempotency, unique keys, transaction order, or remote state drift に合う証拠を先に集めます。
- 失敗ケースと正常ケースを同じコマンドで比較します。
- 遅延・負荷・タイムアウト の分岐なら Find whether the delay is network connection, upstream processing, database lock, or worker exhaustion.
- 同じURLと同じコマンドで再検証し、正常出力を記録します。
原因別の対応
- For MIXED_DML_OPERATION, apply the fix only after reproducing the same condition and saving the before/after evidence for this exact code.
- Add an idempotency key or upsert path for repeated writes.
- Use unique constraints intentionally and handle duplicate exceptions.
- Sort lock acquisition order consistently.
- Split batch reprocessing from live writes.
- Fetch remote state before retrying rejected pushes or tags.
- 遅延・負荷・タイムアウト の分岐では Find whether the delay is network connection, upstream processing, database lock, or worker exhaustion.
参考リンク
- Salesforce Apex developer guide official
- Salesforce CLI command reference official
検証メタ
- operator-draft
- official-reference-linked
- 2026-07-23
更新キュー
- 更新周期
weekly-source-review - 次の補強
Add one official-source check and one real output example for Salesforce MIXED_DML_OPERATION.
環境別の確認ポイント
- 共有ホスティング、プロキシ、VPN、CDN は data permission issue from Apex/Flow automation issue の結果を変えることがあります。
- Salesforce の管理画面だけでなくコマンド出力と比較します。
- 日本のホスティング管理画面は完了表示でも DNS/SSL 反映が遅れることがあります。
- 社内ネットワークと外部ネットワークの両方で確認します。
再発させないために
- profile, permission set, flow, trigger, owner state の正常出力例を保存します。
- owner activation, permission sets, validation rules, trigger order をリリースチェックリストに追加します。
- 繰り返されるエラーは同じ形式の対応ノートに残します。
- エラー率、遅延、証明書、ディスク、権限変更のアラートを分けます。