Udostępnij za pośrednictwem


Fill Factor

Opcja współczynnik wypełnienia jest udostępniona do precyzyjnego dostosowywania indeksu możliwości przechowywania danych i wydajność.Podczas tworzenia lub ponownie indeks wartość współczynnika wypełnienia Określa procent miejsca na każdej stronie poziom liść ma zostać wypełniony danymi rezerwowanie reszta na każdej stronie jako ilość wolnego miejsca dla przyszłego rozwoju.Na przykład określając wartość współczynnika wypełnienia 80 oznacza, że 20 procent z każdej strona poziom typu liść zostanie pozostawiony pusty, przewidujące miejsca rozszerzenia indeksu, jak dane są dodawane do tabela podstawowej.Wolne miejsce jest zarezerwowany między wierszami indeksu, a nie na końcu indeksu.

Wartość współczynnika wypełnienia stanowi procent od 1 do 100 i całego serwera wartością domyślną jest 0, co oznacza, że strony poziom liść zostaną wypełnione pojemności.

Uwaga

Współczynnik wypełnienia wartości 0 i 100 są takie same w każdym względem.

Można użyć TWORZENIE INDEKSU or ZMIANA INDEKSU instrukcji, aby ustawić wartość współczynnika wypełnienia dla poszczególnych indeksów.Aby zmodyfikować wartość domyślną dla całego serwera, należy użyć sp_configure systemu procedura przechowywana.Aby wyświetlić wartość współczynnika wypełnienia jednego lub kilku indeksów, należy użyć sys.Indexes.

Important noteImportant Note:

Ustawienia współczynnika wypełnienia dotyczy tylko wtedy, gdy indeks jest tworzony lub ponownie zbudowana.The SQL Server Database Engine does not dynamically keep the specified percentage of empty space in the pages.Próba zachowania dodatkowe miejsce na dane strona s czy pokonać celem współczynnik wypełnienia, ponieważ Database Engine musiałby wykonać strona podziały do utrzymania procent wolnego miejsca w określonej przez współczynnik wypełnienia na każdym strona wprowadzone dane.

Zagadnienia wydajności

Podziały stron

Wartość poprawnie wybranych współczynnik wypełnienia może zmniejszyć potencjalnych podziały strony przez zapewnienie wystarczającej ilości miejsca na rozszerzenia indeksu danych jest dodawany do podstawowej tabela.When, jest dodawany nowy wiersz strona indeksu pełnego Database Engine Przenosi około pół wiersze na nową stronę, aby zwolnić miejsce dla nowego wiersza. Reorganizacji ten jest znany jako podział strona.Podział strona powoduje, że miejsce dla nowych rekordów, ale może potrwać do wykonania i jest operacją intensywnie wykorzystujących zasób.Ponadto może to spowodować fragmentacji, która powoduje zwiększenie operacji We/Wy.Gdy wystąpią podziały strona często, indeks może wymagają przebudowania przy użyciu wartości nowy lub istniejący współczynnik wypełnienia do redystrybucji danych.Aby uzyskać więcej informacji zobaczReorganizing and Rebuilding Indexes.

Mimo że niska, wartość różną od zera współczynnik wypełnienia może zmniejszyć wymagania dotyczące podziału stron powiększa się indeks, indeks będzie wymagało więcej miejsca, a może odczytywać spadek wydajności.Nawet w przypadku aplikacji zorientowanych na wiele wstawić i aktualizowanie operacji Liczba odczytów z bazy danych zazwyczaj outnumber Zapisywanie bazy danych przez współczynnik od 5 do 10.Dlatego określanie współczynnik wypełnienia inne niż domyślne może obniżyć wydajność odczytu bazy danych o kwotę odwrotnie proporcjonalne do ustawienia współczynnik wypełnienia.Na przykład wartość współczynnika wypełnienia równą 50 może spowodować, że bazy danych, przeczytaj wydajności Zmniejsz o dwa razy.Wydajność odczytu jest zmniejszyła się, ponieważ indeks zawiera więcej stron, więc zwiększenie dyskowych operacji We/Wy, wymagane do pobierania danych.

Dodawanie danych na końcu tabela

Współczynnik wypełnienia różna od zera, inne niż 0 i 100 może to być dobra wydajność nowych danych jest równomiernie rozłożony w całej tabela.Niemniej jednak jeśli wszystkie dane są dodawane na końcu tabela, puste miejsce na stronach indeksu nie zostanie wypełnione.Na przykład kolumnę klucz indeksu kolumna tożsamości, zawsze wzrasta klucz dla nowych wierszy, a wiersze indeksu logicznie są dodawane na końcu indeksu.Jeśli istniejące wiersze mają być aktualizowane na podstawie danych, które powoduje nieznaczne wydłużenie rozmiaru wierszy, za pomocą współczynnik wypełnienia mniej niż 100.Dodatkowe bajtów na każdej stronie może pomóc w celu zminimalizowania podziały strona spowodowany długość dodatkowych w wierszach.