有不会出现 INSERT 或 UPDATE 语句时(例如对只读表),才可以使用 FILLFACTOR 100。如果 FILLFACTOR 为 100,SQL Server 将创建叶级页 100% 填满的索引。如果在创建 FILLFACTOR 为 100% 的索引之后执行 INSERT 或 UPDATE,会对每次 INSERT 操作以及有可能每次 UPDATE 操作进行页拆分。如果 FILLFACTOR 值较小(0 除外),就会使 SQL Server 创建叶级页不完全填充的新索引。例如,如果已知某个表包含的数据只是该表最终要包含的数据的一小部分,那么为该表创建索引时,FILLFACTOR 为 10 会是合理的选择。FILLFACTOR 值较小还会使索引占用较多的存储空间。
从书上抄的一段: 对于那些频繁进行大量数据插入或删除的表,在创建索引时应该为将来生成索引预留较大的空间,即将fillfactory设得很小,一般设置为10;反之,对于数据不更改的、高并发的、只读的表,fillfactor可以设置到95以上。如果没有指定此选项,则系统默认值为0,它与小的fillfactor不同。