嘿我有一些临时表来保存数据然后被删除。我只是检查这些表的大小,尽管它们目前有0条记录,但它们的大小非常大。
SQL 2005 DB
如何减小这些表的大小?
答案 0 :(得分:2)
由于行数为零,最简单的方法是删除并重新创建表。
您可以使用dbcc shrinkdatabase
或dbcc shrinkfile
,但除非将其存储在自己的文件组中,否则无法缩小单个表。
您要删除的“保留空间”可用于添加到该表的下一个新数据,而数据库无需在下次插入数据时保留任何数据。如果删除空格然后插入许多行,则需要再次分配该行将为插入新数据增加一些开销。
我不会对这个空的未使用的保留空间做任何事情,除非你真的缺少磁盘空间。如果你需要更多的磁盘空间,那么获得更多而不是经常需要对这个表的磁盘空间进行微观管理可能会更好。
答案 1 :(得分:0)
SQL Server实际上不会在以后发布该页面。在表上执行索引重建(而不是碎片整理),这应该将可用空间释放回数据库。