BUG: Optimizer Chooses Table Scan Instead of Index Seek (252733)
The information in this article applies to:
- Microsoft SQL Server 7.0
- Microsoft SQL Server 2000 (all editions)
This article was previously published under Q252733
BUG #: 57350 (SQLBUG_70)
SYMPTOMS
Under certain conditions a query may issue a table scan instead of using a useful covering nonclustered index.
CAUSE
The optimizer is using the density information from the distribution page statistics to estimate the number of qualifying rows. In WHERE clauses with two or more constant values, the value of the constants can be estimated as too costly for using the index because the average density is worse than the density for these special constant values. This is the reason why the optimizer is not using the index.
WORKAROUND
To work around this problem, try either of the following:
- Use an index hint.
-or- - Change the nonclustered index to a clustered index.
STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.
Modification Type: | Major | Last Reviewed: | 10/17/2003 |
---|
Keywords: | kbBug kbpending KB252733 |
---|
|