我们有一个客户正在对一个非常大的数据库使用CRM。他们正在经历开箱即用操作的减速,我们在这些减速过程中观察到阻塞的SPID。我们捕获了CRM生成的SQL,并让DBA对其进行分析。
我们的DBA可能会找到一种方法,通过调整SQL的结构或优化器提示来提高性能。然而,我们正在分析的SQL是在CRM的严格控制之下。
所以这是我的问题…
使用fetch xml,有没有办法影响最终从CRM生成的SQL的结构/优化器提示?或者,如果我们的DBA建议对SQL进行更改以使其更快,我们是否必须向Microsoft寻求解决方案?
发布于 2011-08-02 22:42:07
正如mwigdahl所说,除了影响生成的SQL语句之外,还有其他调整数据库性能的可能性。这些也是唯一支持的更改,您可以自己做。
Microsoft认为不支持对数据库进行更改。请参阅Supported Extensions for Microsoft Dynamics CRM
对数据库的物理模式进行
修改,而不是添加或更新索引。这包括在没有经过系统定制的情况下对数据库执行的任何操作。不支持修改数据库中的表、存储过程或视图。由于引用完整性或升级问题,也不支持向数据库添加表、存储过程或视图。根据“”.中的指导原则,支持添加索引这适用于所有Microsoft Dynamics CRM数据库和Microsoft Dynamics CRM for Microsoft Office Outlook本地数据库。
您不能直接调整FetchXML到SQL的转换。您只能对其进行优化,不能包含不必要的信息等。如果您有真正的性能问题,我建议在您的调查中包括CRM支持。
发布于 2011-08-02 22:05:38
即使不能更改SQL,也可以改进与之交互的物理表的索引和统计信息。如果您在这方面发现了改进,那么它可以改进优化器生成的查询计划。
签入Database Engine Tuning Advisor (DTA) --它可以帮助您进行这种类型的优化,无论是在单个查询的基础上还是在工作负载分析的基础上。
https://stackoverflow.com/questions/6913226
复制相似问题