sql server刪除數據后,磁盤空間反而增大?壓縮數據庫及刪除數據庫表的方法比較


問題:sql server刪除數據后,磁盤空間反而增大?

原因是:刪除數據,會記錄日志,所以磁盤空間反而增大。

要怎么做,才能釋放空間?以下的databaseA是數據庫的名稱,注意數據庫名稱要用括號括起來

dbcc shrinkdatabase (databaseA) 

解釋: 

DBCC SHRINKDATABASE

功能:壓縮數據庫

用法:DBCC SHRINKFILE (N'tableAlog' , 10)            #收縮日志文件大小(單位是M)

注意:只有產生許多未使用空間的操作(如截斷表或刪除表操作)后,執行收縮操作最有效,產生碎片較少。其他情況請勿執行,因為雖然釋放了空間,但是會產生大量碎片

 

所以,總結,以后刪除數據庫表的步驟如下(其中tableA是表名,databaseA是數據庫名):

第一步:

執行

delete from tableA        這個語句是刪除數據,執行效率低

drop table tableA          這個語句是刪除表,效率一般

執行完后發現空間大小反而變大

或 

truncate table tableA  這個語句是清空表,效率高,推薦

執行完后發現空間大小無變化

第二步:

DBCC SHRINKDATABASE ( databaseA)

這時候去看看文件大小,發現小了很多


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM