SQL Server 2005:决定统计信息更新时机的rowmodctr与colmodctr

本文介绍了SQL Server 2000及2005中用于跟踪表修改情况的rowmodctr与colmodctr机制。rowmodctr记录了表或索引视图上的统计信息更新,而colmodctr则更细致地跟踪了列级别的变更。这两个指标对于理解SQL Server如何管理和更新统计信息至关重要。

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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值