Performance Flashcards Preview

SFDC Sharing and Visibility Designer > Performance > Flashcards

Flashcards in Performance Deck (9)
Loading flashcards...

Describe the Salesforce Sharing Architecture model (high level)

Each object in Salesforce that has its organization-wide default setting configured as Public Read Only or Private will also have an associated share object. Salesforce uses the associated share object to provide access grants to users who would otherwise be restricted by the organization-wide default setting.

Every access grant that provides a Salesforce user with access to a restricted object has a record in an associated object share table


How does group shares improve performance?

Without the existence of groups, records in the object share tables would map users to the object that they have access to in a one-to-one relationship.

Because a group is a representation of one or more users who share a single access grant to the associated record, having a group access grant move from one record to another involves maintaining only a single share record for the group, not a share record for every member of that group


What types of user-defined groups exist in Salesforce?

Public Groups
Private Groups


What types of system-defined groups exist in Salesforce?

Role hierarchy
Territory hierarchy


Using role hierarchy as an example of an internal feature that leverages the group sharing architecture, explain how it enhances performance

When you grant a user at the bottom of the role hierarchy access to a record, SFDC adds a single share to the associated object share table. The group membership architecture that is already in place grants access to all role managers. If the role hierarchy did not leverage the group membership architecture, SFDC would have to add an object share record for every role manager in the role hierarchy.

Furthermore, if the role hierarchy structure were changed, it would affect a massive number of object share records, which would in turn radically decrease performance


Name two scenarios where group shares are not effective (or might impact performance)

1 - When a group has very few users (or even single users) in it

2 - When users move in and out of groups frequently.


What happens when a user moves in and out of Salesforce groups?

Moving users from one group to another trigger organization wide group membership locks, so highly dynamic groups can have a negative impact on performance.

Org-wide group sharing locks are used to ensure that data integrity is maintained within the group hierarchy. This type of lock is exclusive and affects the movement of users in all types of groups, including the role hierarchy, territory hierarchy, queues, public groups, and private groups.

When these types of locks are held, all other group membership operations must wait for the lock to be released and this can delay lock contention in the org


Sharing Scenario: Provide a solution for the following: The "Strategic Account" marketing team needs visibility to all named accounts within Salesforce. Because of the complex logic that determines which accounts are strategic, a trigger has been implemented on the account object to flag the strategic accounts

Implement a group for the strategic account representatives and assign it to each of the strategic accounts. You could implement the method of assignment in a criteria-based sharing rule.


Sharing Scenario: A large enterprise organization has over 20,000 territories, and each territory has a single sales representative. In addition, representatives move very frequently between territories. They would like to implement Territory Management. Is it advisable for them?

Territory Management is not recommended: Because each territory has only a single member, and the users move frequently in the territory hierarchy, using the Territory Management feature would increase both the number of relationships to traverse for access checks and the frequency of org-wide group membership locks