Skip to main content

Notifications

Microsoft Dynamics CRM (Archived)

2016 Service Pack 1 Performance - SLAbase table and additional index cndx_PrimaryKey_SLAid

Posted on by Microsoft Employee

Hi,


Since upgrading to 2016 Service Pack 1. We've seen frequent "SQL Timeout" errors. This has been traced back to one significant additional SQL cost during query executions in multiple cases. The inclusion of dbo.SLAbase joins across Contact, Company and Lead SELECT's. We have disabled SLA and Enhanced SLA feature introduced in Service Pack 1, but there is still a large execution cost with querying the FilteredViews.

For example, from within the SQL Execution plan for one query we see mentions of SLABase table, SLAId and SLAInvokedId relationships and a:

                              <NestedLoops Optimized="false">
                                <Predicate>
                                  <ScalarOperator ScalarString="[HIDDEN].[dbo].[LeadBase].[SLAInvokedId]=[HIDDEN].[dbo].[SLABase].[SLAId] as [sla_lead].[SLAId]">
                                    <Compare CompareOp="EQ">
                                      <ScalarOperator>
                                        <Identifier>
                                          <ColumnReference Database="[HIDDEN]" Schema="[dbo]" Table="[LeadBase]" Column="SLAInvokedId" />
                                        </Identifier>
                                      </ScalarOperator>
                                      <ScalarOperator>
                                        <Identifier>
                                          <ColumnReference Database="[HIDDEN]" Schema="[dbo]" Table="[SLABase]" Alias="[sla_lead]" Column="SLAId" />
                                        </Identifier>
                                      </ScalarOperator>
                                    </Compare>
                                  </ScalarOperator>
                                </Predicate>

This part of the query execution is referencing this index: cndx_PrimaryKey_SLAid.


In 2015, running the same query against "FilteredLead" and "FilteredContact" the resulting execution plan does not include any reference to SLAId or the SLABase table, and therefore no timeout limits are hit at the current setting.

I have seen a mention of a performance tweak made in this report to the SLABase table, along with other generic improvements for a benchmark test and a mention of a fix to be made available in Service Pack 1.1:

- When will Service Pack 1.1 be released?

- Is there a patch fix available until then?

- Is there a workaround to remove these relationships, or improve query execution?

Thanks,

James

*This post is locked for comments

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

December Spotlight Star - Muhammad Affan

Congratulations to a top community star!

Top 10 leaders for November!

Congratulations to our November super stars!

Tips for Writing Effective Suggested Answers

Best practices for providing successful forum answers ✍️

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 291,253 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 230,188 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,156

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans