MSSQL的数据库中每个表行数和体积的计算

本文探讨了在SQL Server中使用selectcount(*)与sp_spaceused命令查询表记录数不一致的问题,并提供了一种修正方法。同时,文章还介绍了一个用于检查表中行数和空间使用的脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

select count(*)和sp_spaceused得到的有关记录数的结果不一致可能性有

DBCC UPDATEUSAGE (0, 'tablename') WITH COUNT_ROWS 用这个可以纠正这个错误

---テープル件数と容量の検証用


CREATE TABLE #SPACES
([name][sysname],[rows][bigint],[reserved][varchar](10),
[data][varchar](10),[index_size][varchar](10),[unused][varchar](10))
DECLARE @table sysname

DECLARE C CURSOR LOCAL FOR 
SELECT name FROM sysobjects 
WHERE XTYPE='U'

OPEN C
FETCH NEXT FROM C INTO @table

WHILE (@@FETCH_STATUS=0)
BEGIN
INSERT INTO #SPACES EXEC sp_spaceused @table
FETCH NEXT FROM C INTO @table
END

CLOSE C
DEALLOCATE C

SELECT * FROM #SPACES
ORDER BY name

DROP TABLE #SPACES
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值