影响CRM生成的SQL(优化器提示等)

时间:2011-08-02 13:57:10

标签: sql-server dynamics-crm dynamics-crm-4 dynamics-crm-2011 fetchxml

我们有一个客户端正在针对一个非常大的数据库使用CRM。他们正在经历开箱即用行动的减速,我们在这些减速期间观察到阻止的SPID。我们捕获了CRM生成的SQL,并让DBA对其进行分析。

我们的DBA可以通过在结构或优化器提示中调整SQL来找到提高性能的方法。但是,我们正在分析的SQL受到CRM的严格控制。

所以这是我的问题......

使用fetch xml有没有办法影响最终从CRM生成的SQL的结构/优化器提示?或者,如果我们的DBA建议更改SQL以使其更快,我们是否必须转向Microsoft以获得解决方案?

2 个答案:

答案 0 :(得分:2)

即使您无法更改SQL,也可以改进与之交互的物理表的索引和统计信息。如果您发现该领域的改进,它可以改进优化程序生成的查询计划。

检查Database Engine Tuning Advisor(DTA) - 它可以帮助您进行此类优化,无论是基于单一查询还是基于工作负载分析。

答案 1 :(得分:1)

mwigdahl所述,还有其他可能性来调整数据库性能,而不是影响生成的SQL语句。这些也是唯一受支持的更改,您可以自己做。

Microsoft认为不支持对数据库的更改。见Supported Extensions for Microsoft Dynamics CRM

  

修改数据库的物理架构 ,而不是添加或更新索引 。这包括在不经过系统自定义的情况下对数据库执行的任何操作。不支持在数据库中修改表,存储过程或视图。由于引用完整性或升级问题,也不支持向数据库添加表,存储过程或视图。 根据“Microsoft Dynamics CRM 2011 Implementation Guide 中的指南支持添加索引。这适用于所有Microsoft Dynamics CRM数据库和Microsoft Dynamics CRM for Microsoft Office Outlook本地数据库。

您无法直接调整FetchXML到SQL的转换。您只能优化它,不包括不必要的信息等。如果您遇到真正的性能问题,我建议您在调查中加入CRM支持。