Question

I came across this old article on Brent Ozar's blog (written by Kendra Little) regarding Fill Factor: https://www.brentozar.com/archive/2013/04/five-things-about-fillfactor/

In it, she briefly mentions that the Fill Factor setting does not affect Heaps.

Does this still apply today, and does she mean only pure heaps that don't even have non-clustered indexes?...or to any heap table regardless if it has non-clustered indexes?

Was it helpful?

Solution

The non-clustered indexes on a heap will use the fill factor, but a heap is not an index (although it does appear in sys.indexes).

Since there is no way to reorganize a heap it can't have a fill factor. Fill factor only comes into the picture when rebuilding or creating an index; it only applies to indexes.

I believe How Forwarded Records are Read and Processed in a SQL Server Heap by Uwe Ricken may help you out. Specifically regarding how SQL Server uses PFS to determine inserts for records into the heap, and also how a non-clustered index uses the RID in relation to the heap.

Licensed under: CC-BY-SA with attribution
Not affiliated with dba.stackexchange
scroll top