I'm new to concept of what fillfactor is and why it is used.
So far, reading this article, I've learned that by setting the fillfactor configuration of an index, we specify how much space on each page should remain free, so that whenever a new record needs to be added to a page, there will be some free space for it. My question is that:

  1. Is that free space on each page, intended to remain free? I can guess that, that free space is used when an insert happens, but later the database engine, moves data, so that again we have some free space in each page. Is this what happens in a DBMS?

1 Answer 1


Ni, it isn't maintained. It is there to postpone page splits. But after so many inserts, the page will split. Then it is up to you whether you fell like doing anything about it (rebuild or reorganize).

  • thank you. So I conclude that all the performance impacts, are specific to the time from the index has been rebuilt up to time pages are full. After there is no difference whether the index was created with fillfactor=90 or `fillfactor=100' Aug 30, 2020 at 5:42
  • Yes, that is correct. Aug 31, 2020 at 11:37

Not the answer you're looking for? Browse other questions tagged or ask your own question.