DBCC show_statistics:密度与我计算的不符

Aus*_*hin 4 sql-server-2005 sql-server

我在几篇文章中读到列的密度是 (1.0 / count(distinct columnname))。我有一列包含超过 270 万行的大约 260 万个不同值,但 DBCC show_statistics 中的列密度即使在使用 fullscan 更新统计信息后也是 0.48。

我对这个数字可能来自哪里感到困惑。谁能给我解释一下?

Pau*_*ite 5

文档DBCC SHOW_STATISTICS说,密(头)为:

对于统计对象的第一个键列中的所有值,计算为 1 / 不同值,不包括直方图边界值

它还说:

查询优化器不使用此密度值,显示此值是为了与 SQL Server 2008 之前的版本向后兼容。

您使用的是 SQL Server 2005,因此该值在某些情况下可能与您相关,但我不知道 2005 何时会使用该密度值。