Click here to monitor SSC
SQLServerCentral is supported by Redgate
Log in  ::  Register  ::  Not logged in
Home       Members    Calendar    Who's On

Add to briefcase ««12

Default Index Fill Factor Expand / Collapse
Posted Wednesday, May 18, 2011 8:05 AM
SSC Eights!

SSC Eights!SSC Eights!SSC Eights!SSC Eights!SSC Eights!SSC Eights!SSC Eights!SSC Eights!

Group: General Forum Members
Last Login: 2 days ago @ 2:18 PM
Points: 917, Visits: 2,673
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.

Post #1110993
Posted Tuesday, December 8, 2015 2:41 AM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Tuesday, January 19, 2016 5:14 AM
Points: 1, Visits: 12
a few years old now- but I was wondering the same. 100 means 100% but what 0 meant I think has changed. Certainly back in the early Sybase days I think that 0 meant (something like) 100% for clustered, 80% for non-clustered (or the other way around) - this was something "built in" as a default. Not sure if SQL Server was the same and/or if Sybase has now changed it, but I guess that's the core of the original posters question and something I was wondering myself...
Post #1743475
« Prev Topic | Next Topic »

Add to briefcase ««12

Permissions Expand / Collapse