igelr Asked: 2018-10-08 21:17:04 +0800 CST2018-10-08 21:17:04 +0800 CST 2018-10-08 21:17:04 +0800 CST 找出更改的行数/列数 - SQL Server? 772 我在中找到row/colmodctr了选项,sys.sysindexes但这在sys.indexes. 因为sys.indexes推荐的目录视图如何在不使用的情况下找到行和列的更改编号sys.sysindexes? sql-server catalog-views 1 个回答 Voted Best Answer sepupic 2018-10-08T22:59:52+08:002018-10-08T22:59:52+08:00 因为 sys.indexes 是推荐的目录视图... 不使用 of 背后的原因row/colmodctr是另一个(您可以在sys.sysindexes (Transact-SQL)文章中找到它: 在 SQL Server 2000 及更早版本中,数据库引擎维护 行级修改计数器。此类计数器现在维护在列级别。因此,会计算 rowmodctr 列并生成与早期版本中的结果类似但不准确的结果。 如果您使用 rowmodctr 中的值来确定何时更新统计信息,请考虑以下解决方案: 没做什么。新的 rowmodctr 值将经常帮助您确定何时更新统计信息,因为该行为与早期版本的结果相当接近。 使用 AUTO_UPDATE_STATISTICS。有关详细信息,请参阅统计数据。 使用时间限制来确定何时更新统计信息。例如,每小时、每天或每周。 使用应用程序级信息来确定何时更新统计信息。比如每次标识列的最大值变化超过10000,或者每次执行批量插入操作。 所以现在您可以使用sys.dm_db_stats_properties (Transact-SQL)modification_counter的列来获取感兴趣的统计信息: 修改计数器 自上次更新统计信息以来,主要统计信息列(构建直方图的列)的修改总数。
不使用 of 背后的原因
row/colmodctr
是另一个(您可以在sys.sysindexes (Transact-SQL)文章中找到它:所以现在您可以使用sys.dm_db_stats_properties (Transact-SQL)
modification_counter
的列来获取感兴趣的统计信息: