FIX: Wrong Join Plan Selected That Causes Excessive Reads

ID: Q170295


The information in this article applies to:

BUG #: 16801 (6.5)

SYMPTOMS

The SQL Server optimizer sometimes does not choose the optimal join order. It may reformat the larger table involved in a join followed by excessive logical and physical reads on the worktable, which can introduce serious performance degradation.


CAUSE

The method used to calculate the cost of each possible join plan has been altered in SQL Server 6.5 Service Pack 2 to provide more accurate and thorough estimates. Incidentally, it introduced a very small window where it may calculate the cost incorrectly. In such cases, the best join plan, which was chosen by both the release build of SQL Server 6.5 and by Service Pack 1, is considered to be very costly.


WORKAROUND

The combination of SET FORCEPLAN ON, optimizer hint on index selection, and possibly trace flag 336 may force the optimizer to use the right join plan.


STATUS

Microsoft has confirmed this to be a problem in Microsoft SQL Server version 6.5 Service Pack 2. This problem has been corrected in the latest U.S. Service Pack for SQL Server version 6.5. For more information, contact your primary support provider.

Additional query words: prodsqlslow sluggish high optimization


Keywords          : kbusage SSrvGen kbbug6.50.sp2 kbfix6.50.SP5 
Version           : winnt:6.5 Service Pack 2 and later
Platform          : winnt 
Issue type        : kbbug 

Last Reviewed: April 21, 1999