Friday, April 22, 2016

PrincipalObjectAccess–Performance Recommendations

PrincipalObjectAccess–Performance Recommendations



One of the topics of discussion that can come up during the planning phase for a customers CRM implementation is Business Unit structure and sharing which leads to the PrincipalObjectAccess (POA) table.  As the POA table grows in size due to the sharing of records, which can be frequent in environments with a complex Business Unit structure, CRM performance can suffer.  Below are some general recommendations that we provide to customers that are anticipating their deployment will have a complex Business Unit structure and/or frequent sharing of records.
  • Share only what is needed
  • Minimize the number of Business Units where possible
    • Help reduce the need for sharing records
  • Ensure users are placed in the appropriate Business Unit
    • Can a user be moved further up the Business Unit hierarchy to give them the necessary access to records in another Business Unit
  • Modify Security to allow users to see information outside of their Business Unit
    • This will also reduce the need for sharing
  • Once a record does not need to be shared any longer stop sharing it
  • Enable the EnableRetrieveMultipleOptimization registry key
  • Ensure frequent queries that involve the POA table have appropriate indexes in place
Not all of these will be applicable to all deployments but the goal of most of these is to provide customers items to consider while they are planning out their Business Unit structure.

No comments:

Post a Comment