SQL Clone
SQLServerCentral is supported by Redgate
 
Log in  ::  Register  ::  Not logged in
 
 
 


Default Index Fill Factor


Default Index Fill Factor

Author
Message
DBA_Dom
DBA_Dom
Ten Centuries
Ten Centuries (1K reputation)Ten Centuries (1K reputation)Ten Centuries (1K reputation)Ten Centuries (1K reputation)Ten Centuries (1K reputation)Ten Centuries (1K reputation)Ten Centuries (1K reputation)Ten Centuries (1K reputation)

Group: General Forum Members
Points: 1012 Visits: 81110
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?
Perry Whittle
Perry Whittle
SSC Guru
SSC Guru (52K reputation)SSC Guru (52K reputation)SSC Guru (52K reputation)SSC Guru (52K reputation)SSC Guru (52K reputation)SSC Guru (52K reputation)SSC Guru (52K reputation)SSC Guru (52K reputation)

Group: General Forum Members
Points: 52403 Visits: 17672
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" ;-)
Steve Jones
Steve Jones
SSC Guru
SSC Guru (142K reputation)SSC Guru (142K reputation)SSC Guru (142K reputation)SSC Guru (142K reputation)SSC Guru (142K reputation)SSC Guru (142K reputation)SSC Guru (142K reputation)SSC Guru (142K reputation)

Group: Administrators
Points: 142940 Visits: 19424
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
My Blog: www.voiceofthedba.com
Jeffrey Williams 3188
Jeffrey Williams 3188
SSCoach
SSCoach (18K reputation)SSCoach (18K reputation)SSCoach (18K reputation)SSCoach (18K reputation)SSCoach (18K reputation)SSCoach (18K reputation)SSCoach (18K reputation)SSCoach (18K reputation)

Group: General Forum Members
Points: 18565 Visits: 10042
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 opportunities brilliantly disguised as insurmountable obstacles.

How to post questions to get better answers faster
Managing Transaction Logs

SQLRNNR
SQLRNNR
SSC Guru
SSC Guru (65K reputation)SSC Guru (65K reputation)SSC Guru (65K reputation)SSC Guru (65K reputation)SSC Guru (65K reputation)SSC Guru (65K reputation)SSC Guru (65K reputation)SSC Guru (65K reputation)

Group: General Forum Members
Points: 65039 Visits: 18570
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

DBA_Dom
DBA_Dom
Ten Centuries
Ten Centuries (1K reputation)Ten Centuries (1K reputation)Ten Centuries (1K reputation)Ten Centuries (1K reputation)Ten Centuries (1K reputation)Ten Centuries (1K reputation)Ten Centuries (1K reputation)Ten Centuries (1K reputation)

Group: General Forum Members
Points: 1012 Visits: 81110
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.
SQLRNNR
SQLRNNR
SSC Guru
SSC Guru (65K reputation)SSC Guru (65K reputation)SSC Guru (65K reputation)SSC Guru (65K reputation)SSC Guru (65K reputation)SSC Guru (65K reputation)SSC Guru (65K reputation)SSC Guru (65K reputation)

Group: General Forum Members
Points: 65039 Visits: 18570
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

Paul White
Paul White
SSC-Dedicated
SSC-Dedicated (34K reputation)SSC-Dedicated (34K reputation)SSC-Dedicated (34K reputation)SSC-Dedicated (34K reputation)SSC-Dedicated (34K reputation)SSC-Dedicated (34K reputation)SSC-Dedicated (34K reputation)SSC-Dedicated (34K reputation)

Group: General Forum Members
Points: 34588 Visits: 11359
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
SQLPerformance.com
SQLblog.com
@SQL_Kiwi
Steve Jones
Steve Jones
SSC Guru
SSC Guru (142K reputation)SSC Guru (142K reputation)SSC Guru (142K reputation)SSC Guru (142K reputation)SSC Guru (142K reputation)SSC Guru (142K reputation)SSC Guru (142K reputation)SSC Guru (142K reputation)

Group: Administrators
Points: 142940 Visits: 19424
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
My Blog: www.voiceofthedba.com
helen_anane
helen_anane
Grasshopper
Grasshopper (21 reputation)Grasshopper (21 reputation)Grasshopper (21 reputation)Grasshopper (21 reputation)Grasshopper (21 reputation)Grasshopper (21 reputation)Grasshopper (21 reputation)Grasshopper (21 reputation)

Group: General Forum Members
Points: 21 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"
Go


Permissions

You can't post new topics.
You can't post topic replies.
You can't post new polls.
You can't post replies to polls.
You can't edit your own topics.
You can't delete your own topics.
You can't edit other topics.
You can't delete other topics.
You can't edit your own posts.
You can't edit other posts.
You can't delete your own posts.
You can't delete other posts.
You can't post events.
You can't edit your own events.
You can't edit other events.
You can't delete your own events.
You can't delete other events.
You can't send private messages.
You can't send emails.
You can read topics.
You can't vote in polls.
You can't upload attachments.
You can download attachments.
You can't post HTML code.
You can't edit HTML code.
You can't post IFCode.
You can't post JavaScript.
You can post emoticons.
You can't post or upload images.

Select a forum

































































































































































SQLServerCentral


Search