# Reporting

| Goal                                                                                                                                                | Best Practice                                                                                                                                                                                                                                                                                                                                                                                             |
| --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Maximizing reporting performance by:<ul><li>Partitioning data to match its likely use</li><li>Minimizing the number of records per object</li></ul> | 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](/docs/platform/salesforce-large-data-volumes-bp/guide/ldv-deployments-infrastructure-divisions.md).)                                                                                                                           |
| Reducing the number of joins                                                                                                                        | <ul><li>Minimize the number of:<ul><li>Objects queried in the report</li><li>Relationships used to generate the report</li></ul></li><li>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.</li></ul><ul></ul> |
| 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                                                                                                             | <ul><li>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.</li><li>Use report filters that emphasize the use of standard or custom indexed fields. Use index fields in report filters, whenever possible.</li></ul>                                                                                              |
