Rowmodctr (SQL Server 2000)
每个表都有一个 rowmodctr 与之相关联。其值可从 sysindexes 系统表获得。在表或索引视图 T 的一个或多个列上创建的每个统计都有一个 rowmodctr 的快照值与之相关联。无论该统计何时被更新——手动或自动(通过 SQL Server 的自动统计功能),rowmodctr 的快照值也会被刷新。有关 rowmodctr 的详细信息在下方白皮书中有所描述:http://msdn.microsoft.com/library/default.asp?url=/nhp/Default.asp?contentid=28000409
rowmodctr 可在 SQL Server 2005 服务器上使用,但其值总为 0。
补充说明一下,在 SQL Server 2000 中,当 rowmodctr 为 0 时,将无法导致重新编译。
Colmodctr (SQL Server 2005)
与 rowmodctr 不同,每个表列都会保存一个 colmodctr 值(非永久性计算列除外)。同普通列一样,永久性计算列拥有 colmodctr。使用 colmodctr 值,可以更细化地跟踪表的更改。Colmodctr 值对用户不可用;仅供查询处理器使用。
当在表或索引视图 T 的一个或多个列上(通过自动统计功能手动或自动)创建或更新统计时,最左边一列的 colmodctr 的快照值将保存在统计二进制大对象 (stats-blob) 中。
与 rowmodctr 不同,colmodctr 的值是一个不断递增的序列:colmodctr 值从不被重置为 0。
不存在非永久性计算列的 Colmodctr 值。其派生自参与计算的列。
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/37724/viewspace-997839/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/37724/viewspace-997839/
本文介绍了SQL Server 2000及2005中用于跟踪表修改情况的rowmodctr与colmodctr机制。rowmodctr记录了表或索引视图上的统计信息更新,而colmodctr则更细致地跟踪了列级别的变更。这两个指标对于理解SQL Server如何管理和更新统计信息至关重要。

被折叠的 条评论
为什么被折叠?



