从表中删除大量?

时间:2010-11-15 19:40:49

标签: sql-server sql-server-2008

在对表执行大型删除后,我应该采取哪些步骤来确保将这些行占用的空间重新分配回SQL Server?在该表上运行统计信息等?

也许我不需要做任何事情,只是想知道如果有任何后续步骤会怎样。

谢谢,

取值

1 个答案:

答案 0 :(得分:6)

该空间将自动返回SQL服务器。你不需要做任何事情。

现在,由于记录事务,数据库大小将与日志文件的增长相同。但是,在内部,sql server知道它仍然有空间可以使用。

除此之外,您可能希望更新统计信息并根据需要重建任何索引。但是,这应该是您正常的夜间维护计划的一部分。

<强>更新
我只是想补充一点。有些人喜欢收缩他们的数据库,以便在大删除后收回空间。除非别无选择,否则不要这样做。除了花费时间和服务器开销之外,问题是如果数据库必须再次增长,那么SQL服务器必须重新分配空间。此操作对SQL服务器来说非常耗时。如果你知道数据库实际需要的大小,那就先预先分配它,然后不管它。