1

我有一个表test,我在其中插入 40000 条记录,我将我的数据库文件分成两个文件组,如下所示:

在此处输入图像描述

如您所见,基于循环算法的两个文件的大小增加了 160 mb。在此之后,我删除了表中的数据。但是两个文件(FileGroup)的大小仍然保持在 160 mb 上。为什么?

4

1 回答 1

4

这是因为 SQL Server 假设如果您的数据库曾经变得那么大,那么它很可能需要再次这样做。为了节省每次 SQL Server 想要使用更多磁盘空间时从操作系统请求空间的开销,除非您手动发出SHRINK DATABASE命令,否则它将简单地保留它所拥有的空间并根据需要填充它。

因此,使用shrink通常被认为是一个坏主意,除非您非常有信心您的数据库在将来的某个时候不需要该空间。

于 2017-05-08T10:19:44.443 回答