在SQL Server中的我正在壓縮,並從柱Text
數據類型與Image
數據類型,相同的表值遷移到另一個上下文2008在SQL服務器中,是否將Text列的所有值設置爲NULL可減少數據庫大小?
。目前,我們不想刪除文本列。所以,我只是將該列的所有值設置爲NULL。
設置爲NULL是否提供空間增益?即減少數據庫大小?
是否丟棄列做到這一點?
如果不是,那麼需要額外的東西來聲稱未使用的空間?
在SQL Server中的我正在壓縮,並從柱Text
數據類型與Image
數據類型,相同的表值遷移到另一個上下文2008在SQL服務器中,是否將Text列的所有值設置爲NULL可減少數據庫大小?
。目前,我們不想刪除文本列。所以,我只是將該列的所有值設置爲NULL。
設置爲NULL是否提供空間增益?即減少數據庫大小?
是否丟棄列做到這一點?
如果不是,那麼需要額外的東西來聲稱未使用的空間?
將值設置爲NULL不會有任何區別。刪除列不會自動釋放磁盤空間。您還需要重建索引:Disk Space Taken By Dropped Columns
文本列在表格的單行中爲列值取最小16個字符值。在此列中將所有值設置爲空之後,聲明可用空間重新組織數據和索引。
爲了回收這個空間,我們必須使用DBCC CLEANTABLE或縮小數據庫。
語法:DBCC CLEANTABLE(數據庫名稱, 「表名或VIEW_NAME」)
如果文本列被替換爲空(如果行號相同),則沒有區別。 –
在SQL Server 2008的上下文中,你不應該**再使用'Text'和'Image'。這些類型已被棄用,並將在未來的版本中從SQL Server中刪除。改爲使用'VARCHAR(MAX)'和'VARBINARY(MAX)'。 –