删除行后数据库大小不变

S. *_*lla 7 database sql-server

我有 2 个数据库,我从其中删除了特定表中的行,以减少数据库的大小。

删除后,大小DB.mdf不变。

我也尝试重建索引并使用cleantable,但没有效果!

ALTER INDEX ALL ON dbo.'Tablename' REBUILD

DBCC CLEANTABLE ('DBname', 'Tablename', 0)
Run Code Online (Sandbox Code Playgroud)

Mar*_*kus 8

您需要缩小数据库。右键单击数据库,任务->收缩数据库


Sta*_*ble 6

删除数据库中的行不会减少实际的数据库文件大小。

删除行后需要压缩数据库。

运行此命令 后,您将需要重建索引。收缩通常会导致索引碎片,这可能会带来巨大的性能成本。

我还建议在缩小文件后重新增长文件,以便有一些可用空间。这样,当新行进入时,它们不会触发自动增长。自动增长会带来性能成本,因此您希望尽可能避免这种情况。