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.
|