Select the product you need help with
FIX: Performance decreases when you run a parallel query after you upgrade from SQL Server 2008 to SQL Server 2008 R2Article 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. On This PageSymptomsAfter 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. CauseThis 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. ResolutionAfter 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 informationSQL Server 2008 R2 Service Pack 2The 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 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:
(http://support.microsoft.com/kb/2754552/
)
Cumulative update package 3 for SQL Server 2008 R2 Service Pack 2
2730301
(http://support.microsoft.com/kb/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 1The 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 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:
(http://support.microsoft.com/kb/2723743/
)
Cumulative update package 8 for SQL Server 2008 R2 Service Pack 12567616
(http://support.microsoft.com/kb/2567616/
)
The SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 Service Pack 1 was releasedStatusMicrosoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. WorkaroundTo 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 informationFor 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:
(http://msdn.microsoft.com/en-us/library/ms189313(v=SQL.105).aspx)
Understanding SQL Server memory grant
(http://blogs.msdn.com/b/sqlqueryprocessing/archive/2010/02/16/understanding-sql-server-memory-grant.aspx)
PropertiesArticle ID: 2732742 - Last Review: October 15, 2012 - Revision: 2.0 Applies to
| Article Translations
|


Back to the top








