Looking for PowerObjects? Don’t worry, you’re in the right place! We’ve been part of HCL for several years, and we’ve now taken the final step in our acquisition journey: moving our website to the HCL domain. Nothing else is changing – we are still fanatically focused on Microsoft Business Applications!

PowerObjects Blog 

for Microsoft Business Applications


Performance Optimization of CRM 2011 Quick Find Queries

Post Author: Joe D365 |

Quick Find is a basic navigation tool to help you find specific records in CRM 2011. Quick Find optimizations have been included in Dynamics CRM 2011 Update Rollup 10 (UR10). By default, these are enabled after applying UR10; however, you can disable them using the option in System Settings:

(Settings | Administration | System Settings | General Tab)

The setting is at the bottom of the "General" tab called "Enable Quick Find Record Limits," which is set to "Yes" by default.

Engable or disable CRM 2011 quick find records

When the optimizations are enabled, if more than 10,000 records are returned by a Quick Find query, the following error will occur:  "Quick find limit exceeded. Please use a more selective search value, or use Advanced Find for your search."

If users need to search using terms that will potentially match over 10,000 records, this setting can be disabled. However, disabling the setting may result in slower overall performance for Quick Find queries. A more appropriate tool for such queries would be to use Advanced Find.

In order to take full advantage of the new Quick Find optimizations, customers will need to implement custom SQL indexes on their Find Columns.  As SQL indexes currently cannot be created in CRM Online, this can only be done in On Premise.

Example:

If you have a custom field on the Contact entity called po_CustomField, and you have enabled this as a Find Column for Quick Find searches.  In order to take full advantage of the new optimizations, create the index:

CREATE NONCLUSTERED INDEX IndexName

ON [dbo].[ContactExtensionBase] ([po_CustomField])

GO

You can optimize the way query performance by modifying the way CRM displays the query results. With the release of Dynamics CRM 2011 UR10, we can now limit the search results returned by quick find and also utilize the new Quick Find query structure by implementing SQL indexes on the column or set of columns used in a Quick Find query.

For more information on performance improvements in Dynamics CRM 2011 UR10 and Quick Find queries please Optimizing and Maintaining a Microsoft Dynamics CRM 2011 Server Infrastructure Performance white paper.

Happy CRM'ing!

Joe CRM
By Joe D365
Joe D365 is a Microsoft Dynamics 365 superhero who runs on pure Dynamics adrenaline. As the face of PowerObjects, Joe D365’s mission is to reveal innovative ways to use Dynamics 365 and bring the application to more businesses and organizations around the world.

3 comments on “Performance Optimization of CRM 2011 Quick Find Queries”

  1. Hi,

    Our quick find plugin failed after updating dynamics CRM

    2011 with rollup 10. It is failing at

    FilterOperator = LogicalOperator.And;

    When we remove the above line, plugin works but we loose the functionality of operator AND, we get back unacceptable results.

    Microsoft has changed the quick find feature in the Rollup 10 but I couldn't find the new way to implement the AND opreator.

    I shall be grateful for any help.

    Regards

    Tahir

    1. Hi Tahir - we have not seen what you are describing. Could the issue be that wiht your xxx.and condition you are getting more than then limit in returned rows ?

      1. Hi,

        We have disabled the records limit. But main issue we have is we need to apply a quick search on the first name, last name, date of birth, post code and soundex on last name. With LogicalOperator.or, quick search returns too many and unnecessary results. We have to apply AND filter for each field.

        I have recompiled the plugin using the rollup 10 sdk and xrm dlls but it didn't make any difference.

        Thanks and regards

        Tahir

PowerObjects Recommends