重建索引的填充因子

2021-09-07 16:03:36 字數 1158 閱讀 9407

--開啟高階選項才能檢視修改預設填充因子

execsp_configure'show advanced options', 1

reconfigure

--檢視預設的填充因子(預設config_value=0,也就是100%)

execsp_configure'fill factor (%)'

--檢視某一索引的填充因子

selectfill_factor,*

fromsys.tables a

innerjoinsys.indexes b

ona.object_id = b.object_id

wherea.[name] ='tablename'

--#1.只有在建立或重新生成了索引後,才會應用填充因子

--#2.看你索引的具體情況來確定填充因子。由於填充因子只對新建索引時起作用(rebuild也相當於重建),所以無論你剛開始設定成多少,執行一段時間後,都有拆頁的可能性.舉兩個例子:

--1.對於乙個自增列的索引,由於資料一直插向索引尾部,所以填充因子可以是100

--2.對於乙個guid列的索引,由於guid排序的不確定性,填充因子的設定意義也不大

--#3.同時填充因子也是個雙刃劍,例如50%的填充因子,會使本來100頁就能放下的資料,變成200頁才能放得下.

--建議:一般oltp系統,80%-90%即可。分頁早晚在所難免

--如果不設定,自動為使用以前的

索引的填充因子

建立索引時,可以指定乙個填充因子,以便在索引的每個葉級頁上留出額外的間隙和保留一定百分比的空間,供將來表的資料儲存容量進行擴充和減少頁拆分的可能性。填充因子的值是從 0 到 100 的百分比數值,指定在建立索引後對資料頁的填充比例。值為 100 時表示頁將填滿,所留出的儲存空間量最小。只有當不會對資...

mysql的填充因子 資料庫索引的填充因子

舉個例子 假定你剛剛用預設的填充因子新建立了乙個索引。當sqlserver建立它時,它把索引放在相鄰的物理頁面上,因為資料能夠順序的讀所以這樣會有最優的i o訪問。但當表隨著 增加和改變時,發生了頁拆分。當頁拆分發生時,sqlserver必須在磁碟的某處分配乙個新的頁,這些新的頁和最初的物理頁不是連...

mysql的填充因子 資料庫索引中的填充因子

在建立聚集索引時,表中的資料按照索引列中的值的順序儲存在資料庫的資料頁中。在表中插入新的資料行或更改索引列中的值時,microsoft sql server 2000 可能必須重新組織表中的資料儲存,以便為新行騰出空間,保持資料的有序儲存。這同樣適用於非聚集索引。新增或更改資料時,sql serve...