你的位置:首页 > 软件开发 > 数据库 > 使用自增长键列值的统计信息

使用自增长键列值的统计信息

发布时间:2015-07-23 11:00:04
今天的文章里我想谈下SQL Server里非常普遍的问题:如何处理用自增长键列的统计信息。我们都知道,在SQL Server里每个统计信息对象都有关联的直方图。直方图用多个步长描述指定列数据分布情况。在一个直方图里,SQL Server最大支持200的步长,但当你查询的数据范围在 ...

使用自增长键列值的统计信息

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

 1 -- Create a simple orders table 2 CREATE TABLE Orders 3 ( 4   OrderDate DATE NOT NULL, 5   Col2 INT NOT NULL, 6   Col3 INT NOT NULL 7 ) 8 GO 9 10 -- Create a Non-Unique Clustered Index on the table11 CREATE CLUSTERED INDEX idx_CI ON Orders(OrderDate)12 GO13 14 -- Insert 31465 rows from the AdventureWorks2008r2 database15 INSERT INTO Orders (OrderDate, Col2, Col3) SELECT OrderDate, CustomerID, TerritoryID FROM AdventureWorks2008R2.Sales.SalesOrderHeader16 GO17 18 -- Rebuild the Clustered Index, so that we get fresh statistics.19 -- The last value in the Histogram is 2008-07-31.20 ALTER INDEX idx_CI ON Orders REBUILD21 GO22 23 -- Insert 200 additional rows *after* the last step in the Histogram24 INSERT INTO Orders (OrderDate, Col2, Col3)25 VALUES ('20100101', 1, 1)26 GO 200

原标题:使用自增长键列值的统计信息

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录