sp_spaceused空间不准?

duanzhi1984 2009-11-08 10:55:02
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


为何重建索引后,索引的大小反而增大了,我觉得应该不会变大的啊!

请各位高手解答?
...全文
397 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xman_78tom 2009-11-08
  • 打赏
  • 举报
回复
执行 DBCC UPDATEUSAGE(dbname) 语句更新 sysindexes 系统表上的存储信息,以使 sp_spaceused 获取准确的数据。这些信息在执行大量的修改操作后并不会被立即更新。
csdyyr 2009-11-08
  • 打赏
  • 举报
回复
默认值80
duanzhi1984 2009-11-08
  • 打赏
  • 举报
回复
若不加 dbcc dbreindex(TEST,'',70)

那平时的数据库索引重建,需要加吗?
  • 打赏
  • 举报
回复
dbcc dbreindex(TEST,'',70)
和这个有关
bancxc 2009-11-08
  • 打赏
  • 举报
回复
哦 跟填充因子有关吗
SQL77 2009-11-08
  • 打赏
  • 举报
回复
dbcc dbreindex(TEST,'',70)

你的填充因子是70了吧
SQL77 2009-11-08
  • 打赏
  • 举报
回复
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。
SQL77 2009-11-08
  • 打赏
  • 举报
回复
EXEC sp_spaceused 'TEST','TRUE'

原来要这样,呵呵,我试了下小很多了
rucypli 2009-11-08
  • 打赏
  • 举报
回复
提供填充因子选项是为了优化索引数据存储和性能。当创建或重新生成索引时,填充因子值可确定每个叶级页上要填充数据的空间百分比,以便保留一定百分比的可用空间供以后扩展索引。例如,指定填充因子的值为 80 表示每个叶级页上将有 20% 的空间保留为空,以便随着在基础表中添加数据而为扩展索引提供空间。

填充因子值是 1 到 100 之间的一个百分比。在大多数情况下,服务器范围的默认值 0 是最佳选项。如果将填充因子设置为 0,将几乎最大限度地填充叶级页,但是至少会留出再添加一个索引行的空间。使用此设置可有效使用叶级空间,但应保留一定的空间以便在不得不拆分页之前进行有限的扩展。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧