SQL Server誤區(qū)30日談 第9天 數(shù)據(jù)庫文件收縮不會影響性能
誤區(qū) #9: 數(shù)據(jù)庫文件收縮不會影響性能
錯誤!
收縮數(shù)據(jù)庫文件唯一不影響性能的情況是文件末尾有剩余空間的情況下,收縮文件指定了TruncateOnly選項。
收縮文件的過程非常影響性能,這個過程需要移動大量數(shù)據(jù)從而造成大量IO,這個過程會被記錄到日志從而造成日志暴漲,相應(yīng)的,還會占去大量的CPU資源。
不僅在收縮的過程中影響性能,并且在文件收縮之后同樣影響應(yīng)能,收縮產(chǎn)生的大量日志會被事務(wù)日志傳送,鏡像,復(fù)制能操作重復(fù)執(zhí)行。而空間不夠時,文件還需要填0初始化從而影響性能(除非你開啟的不用填零初始化的選項)。
這還不算最糟,最糟的結(jié)果是文件收縮造成了大量的索引碎片,對于scan操作來說這個碎片影響性能。
不幸的是,收縮數(shù)據(jù)庫的代碼不是我寫的(如果要是我寫的話,我一開始就不會允許這種機(jī)制的)所以我們唯一能做的就是接受這種操作。
孩子,記住這一點(diǎn): 簡單的對收縮說NO就可以讓我們永遠(yuǎn)遠(yuǎn)離其造成的煩惱。
相關(guān)文章
SQL Server中將查詢結(jié)果轉(zhuǎn)換為Json格式腳本分享
這篇文章主要介紹了SQL Server中將查詢結(jié)果轉(zhuǎn)換為Json格式腳本分享,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-02-02
Sql Server里刪除數(shù)據(jù)表中重復(fù)記錄的例子
這篇文章主要介紹了Sql Server里刪除數(shù)據(jù)表中重復(fù)記錄的例子,本文給出了3種操作方法,需要的朋友可以參考下2014-08-08
根據(jù)sql腳本修改數(shù)據(jù)庫表結(jié)構(gòu)的幾種解決方案
這篇文章主要介紹了如何根據(jù)sql腳本修改數(shù)據(jù)庫表結(jié)構(gòu),需要的朋友可以參考下2014-05-05
沒有SQL Server數(shù)據(jù)庫時如何打開.MDF文件
本文主要介紹了在安裝有Visual Studio 2005或以上的版本的前提下,沒有安裝SQL Server數(shù)據(jù)庫也可以打開.MDF數(shù)據(jù)庫文件的方法,需要的朋友可以參考下2015-08-08
SQL Server遍歷表中記錄的2種方法(使用表變量和游標(biāo))
遍歷表一般都要用到游標(biāo)在SQL Server中可以很容易的用游標(biāo)實(shí)現(xiàn)循環(huán)實(shí)現(xiàn)遍歷表中記錄,本文將介紹使用表變量和游標(biāo)實(shí)現(xiàn)數(shù)據(jù)庫中表的遍歷,感興趣的朋友可以了解下本文,或許可以幫助到你2013-02-02
SqlServer身份驗(yàn)證登錄配置的實(shí)現(xiàn)步驟
SQL?Server身份驗(yàn)證是一種用于驗(yàn)證用戶身份的方法,本文主要介紹了SqlServer身份驗(yàn)證登錄配置,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-04-04
SQL?Server超詳細(xì)使用教程之從安裝到編寫SQL語句詳解
這篇文章詳細(xì)介紹了如何安裝SQL?Server和SQL?Server?Management?Studio,并通過編寫SQL語句進(jìn)行數(shù)據(jù)庫操作,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-12-12

