SQL Server誤區(qū)30日談 第9天 數(shù)據(jù)庫文件收縮不會(huì)影響性能
誤區(qū) #9: 數(shù)據(jù)庫文件收縮不會(huì)影響性能
錯(cuò)誤!
收縮數(shù)據(jù)庫文件唯一不影響性能的情況是文件末尾有剩余空間的情況下,收縮文件指定了TruncateOnly選項(xiàng)。
收縮文件的過程非常影響性能,這個(gè)過程需要移動(dòng)大量數(shù)據(jù)從而造成大量IO,這個(gè)過程會(huì)被記錄到日志從而造成日志暴漲,相應(yīng)的,還會(huì)占去大量的CPU資源。
不僅在收縮的過程中影響性能,并且在文件收縮之后同樣影響應(yīng)能,收縮產(chǎn)生的大量日志會(huì)被事務(wù)日志傳送,鏡像,復(fù)制能操作重復(fù)執(zhí)行。而空間不夠時(shí),文件還需要填0初始化從而影響性能(除非你開啟的不用填零初始化的選項(xiàng))。
這還不算最糟,最糟的結(jié)果是文件收縮造成了大量的索引碎片,對(duì)于scan操作來說這個(gè)碎片影響性能。
不幸的是,收縮數(shù)據(jù)庫的代碼不是我寫的(如果要是我寫的話,我一開始就不會(huì)允許這種機(jī)制的)所以我們唯一能做的就是接受這種操作。
孩子,記住這一點(diǎn): 簡單的對(duì)收縮說NO就可以讓我們永遠(yuǎn)遠(yuǎn)離其造成的煩惱。
相關(guān)文章
系統(tǒng)存儲(chǔ)過程sp_MSforeachtable和sp_MSforeachdb使用說明
系統(tǒng)存儲(chǔ)過程sp_MSforeachtable和sp_MSforeachdb2009-09-09sql server創(chuàng)建臨時(shí)表的兩種寫法和刪除臨時(shí)表
這篇文章主要介紹了sql server創(chuàng)建臨時(shí)表的兩種寫法和刪除臨時(shí)表 ,需要的朋友可以參考下2015-07-07sqlserver Union和SQL Union All使用方法
UNION 操作符用于合并兩個(gè)或多個(gè) SELECT 語句的結(jié)果集。2010-09-09SQL Server中row_number函數(shù)的常見用法示例詳解
這篇文章主要給大家介紹了關(guān)于SQL Server中row_number函數(shù)的常見用法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09sql?server實(shí)現(xiàn)圖片的存入和讀取的流程詳解
這篇文章主要介紹了sql?server實(shí)現(xiàn)圖片的存入和讀取的詳細(xì)流程,文中通過代碼示例和圖文結(jié)合的方式給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-05-05將string數(shù)組轉(zhuǎn)化為sql的in條件用sql查詢
將string數(shù)組轉(zhuǎn)化為sql的in條件就可以用sql查詢了,下面是具體是的示例,大家可以參考下2014-05-05