---
schema_version: "1"
id: be9de3e47000a0fbbd7bc4b611dba39e17091430f9e3ab54848519c1c75c93fd
title: Best Practices for Advanced Decision Tables
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/ind/264-0-0/bre_best_practises_mediumvolume.md
canonical_url: https://help.salesforce.com/s/articleView?id=ind.bre_best_practises_mediumvolume.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 67ad6482f531aa81f4d2d6b701f6fee322a9c442cc4754859854efaae9459131
description: Follow the best practices for optimizing your advanced decision tables for performance and scalability.
products:
  - Industry Solutions
  - Cross Cloud
release: "264"
---
# Best Practices for Advanced Decision Tables

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

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Lightning Experience</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Enterprise</strong>, <strong>Unlimited</strong>, and <strong>Developer</strong> Editions for clouds that have Business Rules Engine enabled</td></tr></tbody></table>

Best Practices for Optimal Performance

- When you create an advanced 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.
    
    For example, consider this advanced decision table where five conditions are created and the condition type is set to Custom.
    
        
    | 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).
- For smaller data changes to the object or the custom metadata associated with a decision table, use the Decision Table Refresh Action invocable action instead of doing a refresh from the decision table details page. See [Refresh a Decision Table](https://help.salesforce.com/s/articleView?id=ind.bre_refresh_decision_table.htm&release=264.0.0&type=5 "To meet evolving business requirements, you can add, update, or remove decision table rows. If you update the object or the custom metadata type that contains the row data, refresh the decision table to make sure that the outcomes are based on the latest data.").

Best Practice for Optimal Scale

- To design a decision table with a large number of columns, group the columns by using the AND operator in the effective logic when you create the decision table.
- Use source filters when you create a decision table to pre-filter the dataset before the decision table is created. Source filters reduce the number of records that must be evaluated in the decision logic.