中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何減少DB上一個表的Unused空間

發布時間:2020-09-26 22:33:55 來源:網絡 閱讀:651 作者:chenhao_asd 欄目:大數據

一、針對不同情況。您可以嘗試以下命令減少未使用空間:
1.回收表或索引視圖中已刪除的可變長度列的空間:
DBCC CLEANTABLE (DBName,"[SalesLT].[ProductModel]", 0);

2.對于堆表:
若要減少堆的區碎片,請對表創建聚集索引,然后刪除該索引。 在創建聚集索引時將重新分布數據。有關如何執行這些操作的信息,請參閱CREATE INDEX請添加鏈接描述并DROP INDEX請添加鏈接描述。

3.對于索引,可以重組或者重建索引來減少碎片:

重組: 如果碎片程度<30%,
重新組織索引使用最少系統資源重新組織索引。 通過對葉級頁以物理方式重新排序,使之與葉節點的從左到右的邏輯順序相匹配,進而對表和視圖中的聚集索引和非聚集索引的葉級進行碎片整理。 重新組織還會壓縮索引頁。 壓縮基于現有的填充因子值。reorganize index只能在online下執行的。

ALTER INDEX PK_ProductModel_ProductModelID on [SalesLT].[ProductModel] REORGANIZE WITH (LOB_COMPACTION=ON);

重新生成索引:將會刪除并重新創建索引。 這將根據指定的或現有的填充因子設置壓縮頁來刪除碎片、回收磁盤空間,然后對連續頁中的索引行重新排序。 如果指定 ALL,將刪除表中的所有索引,然后在單個事務中重新生成。
rebulid index既可以在online又可以在offline下執行.
如果碎片程度>30%
ALTER INDEX PK_ProductModel_ProductModelID ON [SalesLT].[ProductModel] REBUILD;

online模式下
rebuild index會復制舊索引來新建索引,此時舊的索引依然可以被讀取和修改,但是所以在舊索引上的修改都會同步更新到新索引下。中間會有一些沖突解決機制,具體參考Online Index Operations 里面的Build Phase這一章節。然后在rebuild這個過程完整的時候,會對table上鎖一段時間,在這段時間里會用新索引來替換舊索引,當這個過程完成以后再釋放table上面的鎖。如果索引列包含 LOB對象的話,在SQL Server 2005/2008/R2中rebuild index online會失敗。在sql server 2012中,即使索引列包含LOB對象,也可以rebuild index online了,可以參考 Online Index Operations for indexes containing LOB columns.

offline模式下
rebuilde index會對table上鎖,所有對這個table的讀寫操作都會被阻塞,在這期間新索引根據舊索引來創建,其實就是一個復制的過程,但是新索引沒有碎片,最后使用新索引替換舊索引。當rebuild整個過程完成以后,table上面的鎖才會被釋放。

二、您可以通過以下語句查看碎片程度(avg_fragmentation_in_percent列)
DECLARE @db_id SMALLINT;
DECLARE @object_id INT;

SET @db_id = DB_ID(N'DBName');
SET @object_id = OBJECT_ID(N'DBName.SalesLT.ProductModel');

IF @db_id IS NULL
BEGIN;
PRINT N'Invalid database';
END;
ELSE IF @object_id IS NULL
BEGIN;
PRINT N'Invalid object';
END;
ELSE
BEGIN;
SELECT * FROM sys.dm_db_index_physical_stats(@db_id, @object_id, NULL, NULL , 'LIMITED');
END;
GO

三、查看使用空間
sp_spaceused [SalesLT].[ProductModel]

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

喜德县| 从江县| 康平县| 彭阳县| 临西县| 福鼎市| 济南市| 临江市| 当涂县| 海丰县| 庄浪县| 丰县| 剑河县| 襄垣县| 惠来县| 博乐市| 建湖县| 乐陵市| 纳雍县| 灵武市| 秀山| 大洼县| 南通市| 巨鹿县| 札达县| 广安市| 彭州市| 新田县| 正镶白旗| 五河县| 晋宁县| 浠水县| 和林格尔县| 新源县| 磐安县| 涪陵区| 台东市| 建瓯市| 枣阳市| 湘西| 阿拉善盟|