22,209
社区成员
发帖
与我相关
我的任务
分享
create table TEST(ID INT ,ID2 INT)
alter table TEST ALTER COLUMN ID INT NOT NULL
ALTER TABLE TEST ADD CONSTRAINT PK_ID PRIMARY KEY(ID)
CREATE INDEX INDEX_ID2 ON TEST(ID2)
declare @i int
SELECT @i=1
while @i<10000
begin
INSERT INTO TEST values (@i,@i+1)
select @i=@i+1
end
sp_spaceused 'TEST'
--结果:
name rows reserved data index_size unused
TEST 99999 3152 KB 1688 KB 1424 KB 40 KB
dbcc dbreindex(TEST,'',70)
sp_spaceused 'TEST'
name rows reserved data index_size unused
TEST 99999 4416 KB 2400 KB 2008 KB 8 KB
sp_spaceused
显示行数、保留的磁盘空间以及当前数据库中的表所使用的磁盘空间,或显示由整个数据库保留和使用的磁盘空间。
语法
sp_spaceused [[@objname =] 'objname']
[,[@updateusage =] 'updateusage']
参数
[@objname =] 'objname'
是为其请求空间使用信息(保留和已分配的空间)的表名。objname 的数据类型是 nvarchar(776),默认设置为 NULL。
[@updateusage =] 'updateusage'
表示应在数据库内(未指定 objname 时)还是在特定的对象上(指定 objname 时)运行 DBCC UPDATEUSAGE。值可以是 true 或 false。updateusage 的数据类型是 varchar(5),默认设置为 FALSE。
EXEC sp_spaceused 'TEST','TRUE'