FIX: Performance decreases when you run a parallel query after you upgrade from SQL Server 2008 to SQL Server 2008 R2

Article translations Article translations
Article ID: 2732742 - View products that this article applies to.
Microsoft distributes Microsoft SQL Server 2008 R2 Service Pack 1 fixes as one downloadable file. Because the fixes are cumulative, each new release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 R2 Service Pack 1 fix release.
Expand all | Collapse all

On This Page

Symptoms

After you upgrade from Microsoft SQL Server 2008 to Microsoft SQL Server 2008 R2, you may notice that performance decreases when you run a query that uses parallelism in the query execution plan in SQL Server 2008 R2.

Note If you check the query plan, you see that there are more Recursive Hash Join operations than there were in SQL Server 2008. Additionally, the larger the degree of parallelism (DOP) number that is used in the query, the larger the number of Recursive Hash Join operations that are used in the query plan.

Cause

This issue occurs because of some changes in the cardinality estimate. If the actual memory usage hovers around the memory limit, a small change in the cardinality estimate might trigger spills.

Note This issue more frequently occurs when you use a larger DOP number in a query.

Resolution

After you apply the hotfix, the hash join partition count that depends on memory availability is limited. However, this fix cannot resolve the issue in all situations.

Cumulative update information

SQL Server 2008 R2 Service Pack 2

The fix for this issue was first released in Cumulative Update 3. For more information about how to obtain this cumulative update package for SQL Server 2008 R2 Service Pack 2, click the following article number to view the article in the Microsoft Knowledge Base:
2754552 Cumulative update package 3 for SQL Server 2008 R2 Service Pack 2
Note Because the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 R2 Service Pack 2 fix release. We recommend that you consider applying the most recent fix release that contains this hotfix. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
2730301 The SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 Service Pack 2 was released

SQL Server 2008 R2 Service Pack 1

The fix for this issue was first released in Cumulative Update 8. For more information about how to obtain this cumulative update package for SQL Server 2008 R2 Service Pack 1, click the following article number to view the article in the Microsoft Knowledge Base:
2723743 Cumulative update package 8 for SQL Server 2008 R2 Service Pack 1
Note Because the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 R2 Service Pack 1 fix release. We recommend that you consider applying the most recent fix release that contains this hotfix. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
2567616 The SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 Service Pack 1 was released

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

Workaround

To work around this issue, decrease the DOP number in order to decrease Recursive Hash Join operations. However, this may cause the query optimizer to use serial execution, and the cost for the serial execution is high.

More information

For more information about hash joins, go to the following Microsoft Developer Network (MSDN) website:
Understanding hash joins
For more information about SQL server memory grant, go to the following MSDN Blogs website:
Understanding SQL Server memory grant

Properties

Article ID: 2732742 - Last Review: October 15, 2012 - Revision: 2.0
Applies to
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
Keywords: 
kbqfe kbfix kbsurveynew kbexpertiseadvanced KB2732742

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com