首页 > 解决方案 > EmailAddress 列上非聚集索引的填充因子?

问题描述

我试图弄清楚对于诸如 EmailAddress 之类的列的非聚集索引来说,理想的填充因子是多少。如果我有一个经常添加的 Person 表,则填充因子为 0 会导致索引严重碎片化,因为每个新人在这里都有一个基本上随机的值。就我而言,数据经常被写入和读取,但我们几乎没有更改或删除。是否有关于填充因子索引这些类型的列的任何指南?

标签: sql-server

解决方案


除非您重建索引,否则填充因子无关紧要。具有“随机”插入点的索引将生成页面拆分,并且自然会在页面上保留空间以容纳新行,因为拆分页面最终会占满 50%。

如果您确实重建了这样一个索引(通常没有理由这样做),那么请考虑使用填充因子,这样您就不会删除页面上的所有可用空间,这会导致重建后出现一系列页面拆分,结束其结果将类似于(但比)使用填充因子重建。

根据经验,60-75 是一个合理的选择。


推荐阅读