Perché il fattore di riempimento in SQL Server è impostato su 0 (100%)?


9

Comprendo il fattore di riempimento, le pagine e la struttura dell'indice e quindi capisco perché un fattore di riempimento al 100% è una rara best practice. Quindi, per impostazione predefinita è 0 (o 100%) per impostazione predefinita? Perché non 90 o 95?

C'è qualcosa che mi manca?

Risposte:


8

Basta dare alcuni suggerimenti qui sul perché Microsoft dovrebbe fare questo:

  1. Hanno impostato le impostazioni predefinite per ottenere le migliori prestazioni OLAP possibili (meno letture di pagine con un fattore di riempimento di 0/100)
  2. Stanno presupponendo che i INSERTdati modificati saranno probabilmente alla fine della tabella, rendendo inutile lo spazio extra per pagina
  3. Stanno assumendo che in genere i UPDATEdati d non allungheranno molto spesso i dati di riga, causando una divisione della pagina

Questo è solo indovinare qui. Le uniche persone che possono davvero rispondere a questa domanda con precisione sono gli stessi team di SQL Server.


5
Bene, queste sembrano teorie sensate e sono molto più probabili essere appropriate per il cliente tipico rispetto alla scelta di un fattore di riempimento arbitrario in cui, in molti casi, si è sicuri di sprecare permanentemente spazio su una pagina.
Aaron Bertrand

Non riesco a credere di avere una risposta con cui posso essere d'accordo. Non mi aspettavo che esistesse una risposta ragionevole, ma i tuoi punti 2 e 3 sono molto sensati. Grazie!
NTDLS

@NTDLS nessun problema, felice di aiutarti.
Thomas Stringer,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.