• SQLRNNR (4/2/2010)


    No single default fill factor is appropriate for all indexes. It should be evaluated case by case.

    True; but it's our job as administrators to deliberate on the best default, which will kick in when someone creates an index and does not evaluate their particular case! Not uncommon in smaller shops.

    The default is 0, which translates to 100%. In my area, the idea of a 100% fill factor as a default is... substandard. More often than not in my area, an index is not on columns that are continually increasing and never changed; it's on data that is either inserted in nonindex (usually arbitrary) order, or is updated regularly. In both of these cases, a 100% fill factor results in quick fragmentation, and the index taking up more space than it would have at a smaller fill factor.

    How much below 100% as a default, though... that's a much, much more difficult question. For large tables with non-repeating but arbitrarily ordered data (person or object or paperwork ID numbers out of its home tables, etc.), a high fill factor is fine; you're going to be doing a few inserts/changes to a large number of scattered changes, and even a little bit of space free prevents the vast majority of page splits... unless you have queries that operate on clusters of index columns.