Sql-Server

填充因子為 20 的意義是什麼?

  • March 24, 2012

我在 SQL Server express 中有一個用於我們的票務系統的數據庫。我四處尋找,發現很多索引的填充因子都設置為 20。將其設置為 20 有什麼意義?為什麼要設置這麼低?

@ 20 % 您消耗了索引實際所需磁碟的 5 倍。我確信有一些商業案例可能有意義,但我從未見過。如果您不定期重建這些(重建返回到原始填充因子水平,在本例中為 20%),我很想看看執行一個月后索引的填充程度。一般參考:http: //msdn.microsoft.com/en-us/library/ms177459.aspx

在 SQL Server 中,數據儲存在頁面中。每頁大小為8K。簡單來說,fillfactor 表示創建索引或完成重建操作時任何頁面的百分比填充度。

如果表中的數據被非常頻繁地修改,則填充因子起著重要作用。填充因子不是 0 或 100 實際上會在該頁面中留下一些可用空間,並且通過避免稱為“頁面拆分”的效果來提高插入操作的速度。

但是填充因子非常小的缺點是,它會減慢讀取操作。正如@Eric 提到的,有人將其設置為 20%,這很​​奇怪。可能您想通過一些試驗將其更改為 70-90%。

引用自:https://dba.stackexchange.com/questions/15496