mssql sqlserver 索引中填充因子的重要性


摘要:
下文讲述mssql sqlserver中填充因子的功能及设置范围,如下所示:



sql server 索引填充因子的功能

sqlserver索引填充因子功能:
主要在页上预留存放索引数据的空间;
主要设置索引数据占用页空间的比率。
在sqlserver中,每次数据插入 更新 删除都会进行索引的变更,如果填充因子设置不当,那么每次索引变更都可能导致索引需重新申请页,这种操作无疑加大系统开销,
填充因子设置不当,会导致索引碎片加大。

填充因子是对索引第一次设置和重建时使用的参数。
例:
填充因子缺省值为0,代表填充因子100%,及索引数据占满整个索引页
填充因子60% ,代表索引数据会填满60%的索引页



sql server 索引填充因子的最佳设置范围指导
例:
在sqlserver中访问索引的最优方法是按照物理的I/O顺序依次访问,
当索引新建时,索引数据会被依次存放,随着表数据的新增、修改、删除操作时,可能会发生页不连续的事情发生,此时我们我们通过填充因子预估空出页中的空间,会索引预留相应的操作空间,使索引存放达到最佳。
常用填充因子设置建议:
1.避免使用缺省值0(不预留索引空间)
2.对于读写比率相同的表,填充因子设置为80~90%
3.对高频修改的表,填充因子设置为50%
4.对修改非常少的表,填充因子可设置为100%(不预留索引空间)