Maximizing reporting performance by:- Partitioning data to match its likely use
- Minimizing the number of records per object
| Reduce the number of records to query—use a value in the data to segment the query. For example, query for only a single state instead of for all states. (See Divisions.) |
| Reducing the number of joins | - Minimize the number of:
- Objects queried in the report
- Relationships used to generate the report
- De-normalize data when practical—“over de-normalizing” the data results in more overhead. Use summarized data stored on the parent record for the report. This practice is more efficient than having the report summarize the child records.
|
| Reducing the amount of data returned | Reduce the number of fields queried—only add fields to a report, list view, or SOQL query that is required. |
| Reducing the number of records to query | - Reduce the amount of data by archiving unused records—move unused records to a custom object table to reduce the size of the report object.
- Use report filters that emphasize the use of standard or custom indexed fields. Use index fields in report filters, whenever possible.
|