好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

自增长键列统计信息的处理方法

这篇文章通过文字代码的形式讲解了如何处理用自增长键列的统计信息。我们都知道,在SQL Server里每个统计信息对象都有关联的直方图。直方图用多个步长描述指定列数据分布情况。在一个直方图里,SQL Server最大支持200的步长,但当你查询的数据范围在直方图最后步长后,这是个问题。我们来看下面的代码,重现这个情形:

 -- Create a simple orders table
 CREATE TABLE Orders
 (
  OrderDate DATE NOT NULL,
  Col2 INT NOT NULL,
  Col3 INT NOT NULL
 )
 GO
 
 -- Create a Non-Unique Clustered Index on the table
 CREATE CLUSTERED INDEX idx_CI ON Orders(OrderDate)
 GO
 
 -- Insert 31465 rows from the AdventureWorks2008r2 database
 INSERT INTO Orders (OrderDate, Col2, Col3) SELECT OrderDate, CustomerID, TerritoryID FROM AdventureWorks2008R2.Sales.SalesOrderHeader
 GO
 
 -- Rebuild the Clustered Index, so that we get fresh statistics.
 -- The last value in the Histogram is 2008-07-31.
 ALTER INDEX idx_CI ON Orders REBUILD
 GO
 
 -- Insert 200 additional rows *after* the last step in the Histogram
 INSERT INTO Orders (OrderDate, Col2, Col3)
 VALUES ('20100101', 1, 1)
 GO 200
 

查看更多关于自增长键列统计信息的处理方法的详细内容...

  阅读:49次