第十章 維護索引(4) 通過重組索引提高效能

2021-09-06 21:40:49 字數 849 閱讀 5965

原文:

第十章——維護索引(4)——通過重組索引提高效能

如果碎片程度小於30%,建議使用重組而不是重建。因為重組不會鎖住資料頁或者資料表,並且降低cpu的資源。

總得來說,重組會清空當前的b-tree,特別是索引的葉子節點,重組資料頁和消除碎片。和重建不同,重組不會新增任何新資料頁。

為了了解是否有必要重組索引,需要首先檢視碎片程度,如果在10%以下,那一般沒必要做什麼維護,如果在10%~30%,就建議進行重組。

1、 以下各種重組索引的方法:

--不指定引數重組索引:

alter index [idx_refno] on [orddemo]

reorganize

go--重組表中所有索引:

alter index all on [orddemo]

reorganize

go--使用dbcc indexdefrag重建表上所有索引:

dbcc indexdefrag('adventureworks','orddemo')

godbcc indexdefrag('adventureworks','orddemo','idx_refno')

go

2、 dbcc indexdefrag命令同樣是後續不建議繼續使用的命令。 

索引重組,也可以稱為碎片重組,對單獨索引的操作將使用單獨的執行緒。不可以並行操作。所以同一時刻只有乙個索引被操作。

重組並不產生新頁,但是會壓縮頁,如果頁面已經為空,將會移除這個頁,所以填充因子選項是不需要的。同時,因為它不會鎖住物件,所以總是聯機處理。

重組同樣需要sysadmin、db_onwer、db_ddladmin角色。

第十章 維護索引(4) 通過重組索引提高效能

前言 如果碎片程度小於 建議使用重組而不是重建。因為重組不會鎖住資料頁或者資料表,並且降低cpu的資源。總得來說,重組會清空當前的b tree,特別是索引的葉子節點,重組資料頁和消除碎片。和重建不同,重組不會新增任何新資料頁。準備工作 為了了解是否有必要重組索引,需要首先檢視碎片程度,如果在 以下,...

維護索引 通過重組索引提高效能

如果碎片程度小於30 建議使用重組而不是重建。因為重組不會鎖住資料頁或者資料表,並且降低cpu的資源。總得來說,重組會清空當前的b tree,特別是索引的葉子節點,重組資料頁和消除碎片。和重建不同,重組不會新增任何新資料頁。為了了解是否有必要重組索引,需要首先檢視碎片程度,如果在10 以下,那一般沒...

維護索引 通過重組索引提高效能

如果碎片程度小於30 建議使用重組而不是重建。因為重組不會鎖住資料頁或者資料表,並且降低cpu的資源。總得來說,重組會清空當前的b tree,特別是索引的葉子節點,重組資料頁和消除碎片。和重建不同,重組不會新增任何新資料頁。為了了解是否有必要重組索引,需要首先檢視碎片程度,如果在10 以下,那一般沒...