2010-07-14 108 views
0

嘿我有一些臨時表保存數據,然後被刪除後。我只是檢查這些表的大小,並且儘管他們目前有0條記錄,但它們的大小非常大。SQL 2005減少表大表的大小與0條記錄

SQL 2005 DB

如何縮小這些表的大小?

+0

我該怎麼做?我以前的問題中沒有看到「接受」按鈕。 – StevieB 2010-07-14 15:19:13

+0

單擊最佳答案左上角的複選標記。 – 2010-07-14 15:22:56

+0

好的!對不起,沒有注意到之前的箭頭 – StevieB 2010-07-14 15:28:58

回答

2

由於零行,最簡單的方法是刪除並重新創建表。

您可以使用dbcc shrinkdatabasedbcc shrinkfile,但是除非將其存儲在自己的文件組中,否則無法縮小單個表。

要刪除的此「保留空間」可用於添加到該表中的下一個新數據,而不必在下次插入數據時保留數據庫。如果刪除空間然後插入許多行,則需要再次分配該空間會增加插入新數據的額外開銷。

我不會對這個空的未使用的保留空間做任何事情,除非你真的缺少磁盤空間。如果你需要更多的磁盤空間,那麼最好不要總是需要對這個表的磁盤空間進行微觀管理。

0

直到後來SQL Server纔會真正釋放頁面。對錶進行索引重建(而不是碎片整理),並且應該釋放可用空間回數據庫。