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
SSCommitted
SSCommitted (1.9K reputation)SSCommitted (1.9K reputation)SSCommitted (1.9K reputation)SSCommitted (1.9K reputation)SSCommitted (1.9K reputation)SSCommitted (1.9K reputation)SSCommitted (1.9K reputation)SSCommitted (1.9K reputation)

Group: General Forum Members
Points: 1888 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 (136K reputation)SSC Guru (136K reputation)SSC Guru (136K reputation)SSC Guru (136K reputation)SSC Guru (136K reputation)SSC Guru (136K reputation)SSC Guru (136K reputation)SSC Guru (136K reputation)

Group: General Forum Members
Points: 136458 Visits: 18204
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 (328K reputation)SSC Guru (328K reputation)SSC Guru (328K reputation)SSC Guru (328K reputation)SSC Guru (328K reputation)SSC Guru (328K reputation)SSC Guru (328K reputation)SSC Guru (328K reputation)

Group: Administrators
Points: 328718 Visits: 20109
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
SSC-Forever
SSC-Forever (46K reputation)SSC-Forever (46K reputation)SSC-Forever (46K reputation)SSC-Forever (46K reputation)SSC-Forever (46K reputation)SSC-Forever (46K reputation)SSC-Forever (46K reputation)SSC-Forever (46K reputation)

Group: General Forum Members
Points: 46019 Visits: 10150
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 (144K reputation)SSC Guru (144K reputation)SSC Guru (144K reputation)SSC Guru (144K reputation)SSC Guru (144K reputation)SSC Guru (144K reputation)SSC Guru (144K reputation)SSC Guru (144K reputation)

Group: General Forum Members
Points: 144073 Visits: 18651
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
Learn Extended Events

DBA_Dom
DBA_Dom
SSCommitted
SSCommitted (1.9K reputation)SSCommitted (1.9K reputation)SSCommitted (1.9K reputation)SSCommitted (1.9K reputation)SSCommitted (1.9K reputation)SSCommitted (1.9K reputation)SSCommitted (1.9K reputation)SSCommitted (1.9K reputation)

Group: General Forum Members
Points: 1888 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 (144K reputation)SSC Guru (144K reputation)SSC Guru (144K reputation)SSC Guru (144K reputation)SSC Guru (144K reputation)SSC Guru (144K reputation)SSC Guru (144K reputation)SSC Guru (144K reputation)

Group: General Forum Members
Points: 144073 Visits: 18651
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
Learn Extended Events

Paul White
Paul White
SSC Guru
SSC Guru (79K reputation)SSC Guru (79K reputation)SSC Guru (79K reputation)SSC Guru (79K reputation)SSC Guru (79K reputation)SSC Guru (79K reputation)SSC Guru (79K reputation)SSC Guru (79K reputation)

Group: General Forum Members
Points: 79556 Visits: 11400
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 (328K reputation)SSC Guru (328K reputation)SSC Guru (328K reputation)SSC Guru (328K reputation)SSC Guru (328K reputation)SSC Guru (328K reputation)SSC Guru (328K reputation)SSC Guru (328K reputation)

Group: Administrators
Points: 328718 Visits: 20109
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
SSC Rookie
SSC Rookie (31 reputation)SSC Rookie (31 reputation)SSC Rookie (31 reputation)SSC Rookie (31 reputation)SSC Rookie (31 reputation)SSC Rookie (31 reputation)SSC Rookie (31 reputation)SSC Rookie (31 reputation)

Group: General Forum Members
Points: 31 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