我正在使用Microsoft SQL Server。
我有一个已更新80行的表。
如果我右键单击并查看表属性,则行数表示10000,但从TableName中选择Count(id)表示10080。
我检查了统计信息,它们的行数也为10080。
为什么“属性”中的“计数”和“选择计数”之间有区别?
谢谢,
小号
最佳答案
此信息很可能来自sysindexes表(请参阅文档)和
不能保证sysindexes中的信息是最新的。这是SQL Server中的已知事实。
尝试运行DBCC UPDATEUSAGE并再次检查值。
参考:http://msdn.microsoft.com/en-us/library/ms188414.aspx
DBCC UPDATEUSAGE纠正行,
使用过的页面,保留页面,叶子页面
和每个的数据页计数
表或索引中的分区。如果
没有错误
系统表,DBCC UPDATEUSAGE
不返回任何数据。如果不正确
找到并纠正和
未使用NO_INFOMSGS,DBCC
UPDATEUSAGE返回行和
系统中正在更新的列
表。
例:
DBCC UPDATEUSAGE (0)