FIX: Statistics Maintenance Creates Significant Bottleneck on SQL Servers that Use 16 or More CPUs (293849)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions)

This article was previously published under Q293849
BUG #: 217586 (SHILOH_BUGS)

SYMPTOMS

The wait time that results from an update of the sysindexes system table during a transaction commit may be a significant bottleneck in transaction throughput. The wait time is not a problem on multi-processor computers with 2, 4 or 8 processors. However, the wait time is a major bottleneck for servers with 16 and 32 processors (16 way and 32 way computers).

CAUSE

Upon transaction commit, all the updates of a page or row count are performed directly to the sysindexes system table. Although the update is not a problem for 2, 4 and 8 way computer, it is a bottleneck for 16 way or 32 way computers.

RESOLUTION

To resolve this problem, obtain the latest service pack for SQL Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

290211 INF: How to Obtain the Latest SQL Server 2000 Service Pack

The page or row count changes are now cached and the sysindexes system table is periodically updated. To limit the duration of the values in cache, the cache is flushed frequently. The frequency of cache flushing is based on the percentage of changes in cache compared to disk or a small time interval since the last cache flush.

STATUS

Microsoft has confirmed that this is a problem in SQL Server 2000. This problem was first corrected in SQL Server 2000 Service Pack 1.

Modification Type:MajorLast Reviewed:11/6/2003
Keywords:kbBug kbfix kbSQLServ2000sp1fix KB293849