Note: This release is in preview. Features described here don’t become generally available until the latest general availability date that Salesforce announces for this release. Before then, and where features are noted as beta, pilot, or developer preview, we can’t guarantee general availability within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and features.

Takeaway: Tuning Data Relationships and Updates for Performance

Understand the performance characteristics of the various maintenance operations that you’re performing and always test substantial data uploads and changes to object relationships in a full copy sandbox that's been recently refreshed so you know what to expect.

Here are some specific suggestions.

  • Use a Public Read Only or Read/Write organization-wide default sharing model for all non-confidential data.
  • To avoid creating parent implicit shares, configure child objects to be Controlled by Parent wherever this configuration meets security requirements.
  • Configure parent-child relationships with no more than 10,000 children to one parent record.
  • If you encounter only occasional locking errors, see if the addition of retry logic is sufficient to solve the problem.
  • Sequence operations on parent and child objects by ParentID and ensure that different threads are operating on unique sets of records.
  • Tune your updates for maximum throughput by working with batch sizes, timeout values, Bulk API 2.0, and other performance-optimizing techniques.