Improve performance of reports in Dynamics CRM 2013

General: These guidelines are applicable for both SQL-based and Fetch-based reports.

  • Limit a report to display information from a specified time period, instead of displaying all records in the Microsoft Dynamics CRM database.
  • Pre-filter a report so that the dataset is limited.
  • Calculate aggregate totals by using SQL code or aggregations in a FetchXML query, instead of passing raw data to Reporting Services and grouping.
  • Limit the number of datasets used, if possible.
  • When you compare dates, use the UTC date fields for comparisons. For example, compare the createdonutc fields and not the createdon fields in a filtered view or the FetchXML query.

SQL-based Reports: These guidelines are applicable for SQL-based reports only.

  • Don’t create a report that uses a large dataset or a complex SQL query available on-demand to all users.
  • Don’t select all columns from a Microsoft Dynamics CRM filtered view. Instead, explicitly specify the columns that you want to select in the SQL statement.
  • Use SQL stored procedures instead of inline SQL.