Przegląd fragmentacji indeksu
Czym jest fragmentacja indeksu i dlaczego powinienem się na niej skupić: Fragmentacja występuje, gdy logiczna kolejność w indeksie (oparta na wartości klucza w indeksie) nie pokrywa się z fizyczną kolejnością stron indeksu w stronach indeksu w stronach, które indeks zawiera. Za każdym razem, gdy wykonywana jest operacja wstawiania, aktualizacji lub usuwania danych bazowych, silnik bazy danych automatycznie modyfikuje indeks. Na przykład dodanie wierszy do tabeli może spowodować podział wierszy, aby przechowywać istniejące strony w indeksie, aby zrobić miejsce na wstawianie nowych kluczy. Z czasem te modyfikacje mogą powodować rozproszenie informacji w indeksie w bazie danych (zawierających fragmenty). Fragmentacja występuje, gdy logiczna kolejność (oparta na wartości klucza) na stronach zawieranych w indeksie nie odpowiada fizycznej kolejności w pliku danych. Duża liczba fragmentarycznych indeksów może spowolnić wydajność zapytań, ponieważ do znalezienia danych, na które wskazuje indeks, potrzebne jest dodatkowe wejście/wyjście. Więcej operacji wejścia/wyjścia może powodować wolną reakcję aplikacji, zwłaszcza gdy w grę wchodzą operacje skanowania.
Sprawdź fragmentację indeksu bazy danych
Polecenie:
Istnieją dwa sposoby defragmentacji: reorganizacja i ponowne tworzenie indeksów, a odbudowa indeksów oznacza usuwanie starych indeksów i odtwarzanie nowych indeksów w transakcji, co odzyskuje miejsce na dysku twardym oryginalnego indeksu i przydziela nową przestrzeń do stworzenia struktury indeksu. Reorganizacja indeksów oznacza nieprzydzielanie nowej przestrzeni pamięci, reorganizację węzłów liściowych struktury indeksu na podstawie oryginalnej przestrzeni, tak aby logiczny i fizyczny porządek stron danych były spójne, oraz uwalnianie nadmiaru miejsca w indeksie.
Użyj funkcji sys.dm_db_index_physical_stats do wykrywania stopnia fragmentacji, pola avg_fragmentation_in_percent procentu zwróconych fragmentów logicznych, ogólnie Microsoft zaleca próg 30%:
avg_fragmentation_in_percent >5% i <=30%: ZMIANA INDEKSU REORGANIZACJI; avg_fragmentation_in_percent >30%: ODBUDOWA INDEKSU ZMIAN;
avg_fragmentation_in_percent: Wskaźnik fragmentacji indeksu, jeśli fragmentacja jest mniejsza niż 10%~20%, fragmentacja raczej nie będzie problemem,Jeśli fragmentacja indeksu wynosi 20%~40%, fragmentacja może stanowić problem, ale rozdzielczość indeksów można wyeliminować poprzez reorganizację indeksów, a fragmentacja na dużą skalę (gdy fragmentacja przekracza 40%) może wymagać rekonstrukcji indeksu.
Zapytaj informacje o fragmentacji dla wszystkich indeksów danej tabeli
Reindeksowanie tabel
Odbudowa indeksu wszystkich tabel w całej bazie danych
Zasoby:Logowanie do linku jest widoczne.
|