Loading
Business Rules Engine
Table of Contents
Select Filters

          No results
          No results
          Here are some search tips

          Check the spelling of your keywords.
          Use more general search terms.
          Select fewer filters to broaden your search.

          Search all of Salesforce Help
          Best Practices for Standard Decision Tables

          Best Practices for Standard Decision Tables

          Follow the best practices for optimizing your standard decision tables for performance and scalability.

          Required Editions

          Available in: Lightning Experience
          Available in: Enterprise, Unlimited, and Developer Editions for clouds that have Business Rules Engine enabled

          Best Practices for Optimal Performance

          • If you have a decision table with a large volume of rows, consider partitioning the decision table for better performance. Make sure that each partition has a unique partition key and the partition size doesn’t exceed 25,000 rows.
          • When you create a standard decision table, if you have mandatory conditions that use the Equals operator, and the condition type is set to Custom, make sure that these conditions are grouped together in the Effective Logic field. Group these conditions to minimize the lookup complexity and improve the rule evaluation efficiency.

            Consider this example where five conditions are created and the condition type is set to Custom when you create a standard decision table.

            condition source object field operator cOLUMN NAME Optional?
            1 BillingCity Equals BillingCity No
            2 BillingState Equals BillingState No
            3 Industry Equals Industry No
            4 Type Equals Type No
            5 OwnerId Equals OwnerId No

            For this scenario, the correct effective logic is (1 AND 2 AND 3) AND (4 OR 5).

          • Condition sequence affects the lookup performance. Place the condition that filters out the most rows early in the condition logic to minimize unnecessary evaluations. Identify the columns that filter out the most records early. Prioritize columns that have unique or highly varying values over those with repetitive values.

            For example, when you set BillingCity as the column in the first condition, more table lookups are required because a significant number of rows are not reduced early. However, when you place Industry as the column in the first condition, irrelevant records are filtered out early making subsequent conditions more efficient.

          • When you define conditions with input fields such as City or Property that have multiple eligible values, use separate rows for each value with the Equals operator instead of combining values into a single row with a partial match.

            For example, if the input field is City and the eligible values are New York, London, and Mumbai, create three separate conditions, each using the Equals operator as shown in this table:

            condition source object field operator cOLUMN NAME Optional?
            1 City Equals NewYork No
            2 City Equals London No
            3 City Equals Mumbai No
          • Ensure that you provide an input to a Required field that uses the Equals operator to avoid errors.

          Best Practices for Optimal Scalability

          If you have a decision table with a large volume of rows, consider partitioning the decision table. Make sure that each partition has a unique partition key and the partition size doesn’t exceed 25,000 rows.

           
          Loading
          Salesforce Help | Article