Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase 12»»

Default Index Fill Factor Expand / Collapse
Author
Message
Posted Friday, April 2, 2010 9:26 AM
Mr or Mrs. 500

Mr or Mrs. 500Mr or Mrs. 500Mr or Mrs. 500Mr or Mrs. 500Mr or Mrs. 500Mr or Mrs. 500Mr or Mrs. 500Mr or Mrs. 500

Group: General Forum Members
Last Login: Today @ 6:03 PM
Points: 568, Visits: 75,228
So me and my counter part (him being around this game much longer than I) have noticed and read in BOL that the system default for a server's index fill factor is 0 which is fine. We now know we need to change this when creating a new server. But both him and I remember hearing and reading and even being taught in classes that the default index fill factor is 80%. I am wondering if this changed at some point in time and we missed it?

I know that a lot of people recommend a default of around 80% depending on table usage. but we know have a lot of indexes that have a fill factor of 0 going back almost 10 years because it was thought that the default was 80% not 100%. We looked at BOL and it says that 0 is 100 going back to SQL Server 2000. We cannot remember the material that we read and learned this from (it has been a while). Anyone in the same boat as us?
Post #895736
Posted Friday, April 2, 2010 9:29 AM


SSCertifiable

SSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiable

Group: General Forum Members
Last Login: Today @ 7:46 AM
Points: 6,619, Visits: 14,185
Hi

cant speak for SQL 6.x or 7 but certainly from 2000 on the default of 0 is 100% thats what i have understood and read.
Yes you probably want to change this but test first


-----------------------------------------------------------------------------------------------------------

"Ya can't make an omelette without breaking just a few eggs"
Post #895739
Posted Friday, April 2, 2010 9:43 AM


SSC-Dedicated

SSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-Dedicated

Group: Administrators
Last Login: Today @ 4:55 PM
Points: 31,278, Visits: 15,736
Default is 0, which is the same as 100. Pages filled to capacity.

CREATE INDEX - http://msdn.microsoft.com/en-us/library/ms188783.aspx







Follow me on Twitter: @way0utwest

Forum Etiquette: How to post data/code on a forum to get the best help
Post #895765
Posted Friday, April 2, 2010 4:10 PM
SSCarpal Tunnel

SSCarpal TunnelSSCarpal TunnelSSCarpal TunnelSSCarpal TunnelSSCarpal TunnelSSCarpal TunnelSSCarpal TunnelSSCarpal TunnelSSCarpal Tunnel

Group: General Forum Members
Last Login: Wednesday, November 19, 2014 12:19 PM
Points: 4,360, Visits: 9,543
I wouldn't say a default of 80% is good - nor would I say one of 90% or any other value. There are definitely some tables in your system that should use a default of 0 (100%), while others should be set at a different value.

What that value is going to be should be determined by the activity on that table and not some default value.

If the table is only inserted into and never updated, with a monotonically increasing value as the cluster key - filliing it 100% is valid (and probably the best).

On the other hand, if your table is updated frequently where values change a lot on varchar columns (causing data to be moved) and/or deleted from frequently you would want to set the fillfactor. In these cases, the goal is to reduce how fast the table fragments and how often you have to re-organize or rebuild the indexes.

If your system is not 24x7 and you have the time to rebuild your indexes every night - then a higher fillfactor could be appropriate. Again, depending upon the activity for that table.



Jeffrey Williams
Problems are opportunites brilliantly disguised as insurmountable obstacles.

How to post questions to get better answers faster
Managing Transaction Logs
Post #896041
Posted Friday, April 2, 2010 4:18 PM


SSCoach

SSCoachSSCoachSSCoachSSCoachSSCoachSSCoachSSCoachSSCoachSSCoachSSCoachSSCoach

Group: General Forum Members
Last Login: Today @ 12:45 PM
Points: 17,947, Visits: 15,941
The default is 0. Your instructor might have set it to 80 for their purposes.


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




Jason AKA CirqueDeSQLeil
I have given a name to my pain...
MCM SQL Server, MVP


SQL RNNR

Posting Performance Based Questions - Gail Shaw
Post #896046
Posted Friday, April 2, 2010 8:05 PM
Mr or Mrs. 500

Mr or Mrs. 500Mr or Mrs. 500Mr or Mrs. 500Mr or Mrs. 500Mr or Mrs. 500Mr or Mrs. 500Mr or Mrs. 500Mr or Mrs. 500

Group: General Forum Members
Last Login: Today @ 6:03 PM
Points: 568, Visits: 75,228
Maybe everyone has misunderstood my post. I know how to figure out what fill factor to use for different tables. I know that 0 is the same as 100.

I am saying that we were somehow somewhere given the impression that the system default that a server starts with out of the box was a fill factor of 80%. Maybe my instructors were only use to earlier versions or something.

I am looking to find out if anyone knew if the system default was at some point in time or some older version or even some other platform has or had a system default fill factor of 80% that we may have gotten confused with.

Thanks guys.
Post #896102
Posted Saturday, April 3, 2010 1:54 AM


SSCoach

SSCoachSSCoachSSCoachSSCoachSSCoachSSCoachSSCoachSSCoachSSCoachSSCoachSSCoach

Group: General Forum Members
Last Login: Today @ 12:45 PM
Points: 17,947, Visits: 15,941
From the 6.5 servers I administered through the 2008 servers that I administer, the default for fill factor was 0. I don't know where your instructor got their information - but I believe they were giving you information based on a setup they had - not the SQL Server defaults.



Jason AKA CirqueDeSQLeil
I have given a name to my pain...
MCM SQL Server, MVP


SQL RNNR

Posting Performance Based Questions - Gail Shaw
Post #896159
Posted Saturday, April 3, 2010 2:37 AM


SSCrazy Eights

SSCrazy EightsSSCrazy EightsSSCrazy EightsSSCrazy EightsSSCrazy EightsSSCrazy EightsSSCrazy EightsSSCrazy EightsSSCrazy EightsSSCrazy Eights

Group: General Forum Members
Last Login: 2 days ago @ 7:53 PM
Points: 9,928, Visits: 11,194
DBA_Dom (4/2/2010)[hrI am saying that we were somehow somewhere given the impression that the system default that a server starts with out of the box was a fill factor of 80%. Maybe my instructors were only use to earlier versions or something.

The default fill factor ('out of the box') has been zero since at least SQL Server 6.5

The most likely explanation here is that the sever-wide default had been changed to 80 using sp_configure at some point.




Paul White
SQL Server MVP
SQLblog.com
@SQL_Kiwi
Post #896177
Posted Saturday, April 3, 2010 8:06 AM


SSC-Dedicated

SSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-Dedicated

Group: Administrators
Last Login: Today @ 4:55 PM
Points: 31,278, Visits: 15,736
I believe Paul and Jason are correct. I've been working with the product since v4.2, and while I don't remember it there, I believe from v6.0 on, it was always 0.






Follow me on Twitter: @way0utwest

Forum Etiquette: How to post data/code on a forum to get the best help
Post #896253
Posted Tuesday, May 17, 2011 2:54 PM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Monday, January 9, 2012 1:06 PM
Points: 3, Visits: 60
I used to think the default fillfactor was 90% too. Now I realize why I believed so...It's because when I used to create the Reorganize (reindex) Maintenance job that there was a default option to "Change free space per page percentage to: 10"
Post #1110604
« Prev Topic | Next Topic »

Add to briefcase 12»»

Permissions Expand / Collapse