Pourquoi le facteur de remplissage dans SQL Server est-il par défaut égal à 0 (100%)?


9

Je comprends le facteur de remplissage, les pages et la structure de l'index et je comprends donc pourquoi un facteur de remplissage à 100% est une pratique exemplaire rare. Alors pourquoi est-il par défaut à 0 (ou 100%) par défaut? Pourquoi pas 90 ou 95?

Y a-t-il quelque chose qui me manque?

Réponses:


8

Jeter juste quelques suggestions ici pour expliquer pourquoi Microsoft ferait cela:

  1. Ils ont adapté leur valeur par défaut pour être la meilleure performance OLAP possible (moins de lectures de pages avec un facteur de remplissage de 0/100)
  2. Ils supposent que les INSERTdonnées ed seront très probablement à la fin du tableau, rendant l'espace supplémentaire par page inutile
  3. Ils supposent que généralement les UPDATEdonnées d n'allongent pas les données de ligne très souvent, provoquant un fractionnement de page

C'est juste deviner ici. Les seules personnes qui peuvent vraiment répondre à cette question avec précision sont l'équipe SQL Server elle-même.


5
À droite, ces théories semblent raisonnables et sont beaucoup plus susceptibles d'être appropriées pour le client typique que de choisir un facteur de remplissage arbitraire où, dans de nombreux cas, vous êtes assuré de perdre définitivement de l'espace sur une page.
Aaron Bertrand

Je ne peux pas croire que j'ai obtenu une réponse avec laquelle je suis d'accord. Je ne m'attendais pas à ce qu'il existe une réponse raisonnable, mais vos points # 2 et # 3 sont très raisonnables. Merci!
NTDLS

@NTDLS aucun problème, heureux de vous aider.
Thomas Stringer
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.