FILLFACTOR 如何减少页面拆分?

5 index sql-server

默认的 FILLFACTOR 是 100,我有时被告知将其减少到 80 或更低,以便由于每页上的空白空间而减少页面拆分。

我不明白这一点——如果在默认 FILLFACTOR 为 80 的表上创建新索引,则每页的 20% 空间留空。所以假设一行需要使用 10% 的页面,所以当它满时它可以容纳 10 条记录。FILLFACTOR 为 80,现在只能保存 8 条记录。那么当你添加第 9 条记录时,会出现分页吗?使用 100% FILLFACTOR 时,页面拆分只会发生在第 11 条记录上,因此似乎较低的填充因子会使情况变得更糟。

Ton*_*kle 3

填充因子不适用于添加到页面的新行。填充因子仅适用于创建、重建或重新组织索引时页面的填充程度。

因此,如果按计划重建或重新组织索引,并且适当设置填充因子,则索引将能够容纳具有较少页面拆分的新行。