Współczynnik wypełnienia ma zastosowanie tylko wtedy, gdy indeks jest tworzony lub przebudowywany. Jest to wielkość zużycia dla indeksu stron na poziomie liścia, które są wypełniane podczas tych operacji. ( więcej informacji na temat dotkniętych poziomów stron znajduje się w uwadze poniżej )
Gdy do danych ( INSERT
, UPDATE
i / lub DELETE
) istnieje polecenie DML , stanie się to z odpowiednimi indeksami, których dotyczy problem. Innymi słowy, jeśli masz stronę wypełnioną w 20% i wstawiasz do niej dane, strona będzie zawierać więcej niż 20% danych (na przykład 35%). Wykonaj inną wstawkę, teraz strona jest wypełniona w 64%. Odbuduj indeks, a strony na poziomie liścia będą teraz zawierały względnie określony procent miejsca (lub domyślnie wartość domyślną dla serwera).
( Uwaga : jeśli nie określisz, PAD_INDEX
że ma to być ON
, współczynnik wypełnienia jest stosowany tylko do stron na poziomie liścia. Ale po ustawieniu PAD_INDEX = ON
współczynnik wypełnienia będzie brany pod uwagę dla stron na poziomie pośrednim indeksu. Domyślnie jest toOFF
)
Powodem dostosowania współczynnika wypełnienia (zamiast domyślnego ustawienia 100/0) jest minimalizacja podziałów stron podczas wstawiania lub aktualizowania danych. Pamiętaj jednak, że nic nie jest za darmo. Im niższy współczynnik wypełnienia, tym więcej miejsca zajmuje normalnie dane. Jeśli zachowasz 80% wolnego miejsca na strony dla indeksów, będą one zajmować stosunkowo większą ilość miejsca na dysku, co może prowadzić do większej liczby odczytów.
Z mojego zrozumienia, kiedy dane zostaną wstawione, na stronach będzie około 20% danych. Gdy dane zostaną zaktualizowane, powiększy się do ponad 20% indeksu, wypełniając go i generując podział strony, prawda?
Po wstawieniu danych zostaną one wstawione do odpowiednich indeksów na odpowiedniej stronie. To może i najprawdopodobniej bardzo dobrze spowoduje, że zużycie strony będzie wyższe niż współczynnik wypełnienia.
Podział strony nastąpi po dodaniu nowych danych do pełnej strony indeksu. Następnie SQL Server podzieli stronę i w przybliżeniu umieści połowę danych z całej strony na nowej stronie. Ponownie, współczynnik wypełnienia nie ma tu zastosowania.
Uzasadnionym powodem obniżenia współczynnika wypełnienia byłoby zminimalizowanie podziału strony, a tym samym zminimalizowanie fragmentacji strony indeksu.