I have a question with regards to ownership skew in an implementation with several millions of records. Having read all the recommendations and related posts in this forum and in other sites, I am still not sure what the limits of the platform are.

To get into more details, in our business model Leads/Opportunities, Accounts together with several custom objects are shared on a country level (and sometimes only for specific groups within each country). This obviously leads to Private sharing model, a system owner for all records and apex sharing based on public groups for each object .

However we have several hundreds of millions of records in our system, which will certainly create an ownership skew problem.

I am now considering the following options:

  • having a System owner user per country
  • Assign the records to an existing User, which will have ownership on a country-function combination. This will split the record ownership across many users.

The first option will consume SFDC licences and still end up with each of these users owning up to 5M records while the second will prevent me from using Roles and may create issues when Users leave the company (transfer of records)

My question is if anybody has faced similar situations, how did you approach it, and what are the limits of the platform. Shall I expect a performance issue if a User owns 5M of records when they don't belong in a Role hierarchy and records are not reassigned?

Which is the upper limit I should not cross with record ownership?


A large number of config changes eg., adding users to public group (or even minimal config changes with large number of Data) changes done when sharing recalculation is happening for a another config change(eg., adding a member to a public group or changes to record fields which is part of sharing rule criteria) could result in timeouts

Refer: https://help.salesforce.com/articleView?id=security_sharing_defer_sharing_calculations.htm&type=0

As in the article one way to resolve is to defer sharing recalculation to off peak or maintenance period.

One other way is to enable Parallel Sharing rule recalculation.

Refer: https://developer.salesforce.com/docs/atlas.en-us.draes.meta/draes/draes_tools_parallel_sharing_rule_recalculation.htm



Suggest to contact salesforce to get to know exactly where the issue is and and formulate solution based on the issue and keep posted here for any answers you may get from salesforce.

  • thanks karti, but this is not what I am looking for. I am not facing any issue yet, I am in the design phase and trying to understand the platform limits – ManSpan Jun 9 '17 at 8:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.