Statystyki dotyczące indeksów SQL Server
Jeśli chcesz mieć pełną kontrolę w jaki sposób statystyki są aktualizowane, należy użyć STATYSTYKI procedury UPDATE, której składnia jest następująca:
UPDATE STATYSTYKI table_or_indexed_view_name
[
{
Index_or_statistics__name {}
| ({Index_or_statistics_name} [, ... n])
}
]
[Z
[
[FullScan]
| Liczba SAMPLE {PERCENT | ROWS}]
| Resample
|
[... N]
]
[[], [ALL | Kolumny | Indeks]
[[,] NORECOMPUTE]
];
Procedura ta pozwala określić różne opcje
-
FullScan
Oblicz statystyki skanowania wszystkich wierszy w tabeli lub widok indeksowany.
FullScan i SAMPLE 100 procent mają takie same wyniki.
Nie można używać FullScan z SAMPLE.
-
Numer próbki {PERCENT | ROWS}
Przybliżony procent lub liczbę wierszy w tabeli lub indeksowanych optymalizator kwerend w celu wykorzystania podczas aktualizacji statystyki.
Dla PERCENT, numer może być od 0 do 100 dla wierszy, liczba może być od 0 do całkowitej liczby wierszy.
Rzeczywisty procent lub liczbę wierszy próbki przez optymalizator zapytań nie może odpowiadać lub liczby.
Na przykład zapytanie optymalizator analizy wszystkich wierszy na stronie danych.
-
SAMPLE
E ", przydatne w szczególnych przypadkach, w których plan realizacji, na podstawie próbek domyślnie nie jest optymalna.
W większości sytuacji nie jest konieczne, aby określić SAMPLE, ponieważ optymalizator kwerend używa próbkowania.
Ta opcja nie może być używany podczas określania FullScan.
Jeśli nie podasz ani próbki, ani też FullScan, optymalizator kwerend używa próbek danych i oblicza wielkość próby domyślnie.
Nie zaleca się określenie 0 procent lub ROWS 0.
Jeśli podasz 0 procent lub wierszy, obiekt statystyki są aktualizowane, ale nie zawiera danych statystycznych.
-
Resample
Aktualizacja każdej statystyki z wykorzystaniem najnowszych pobierania próbek.
Korzystanie z resample może spowodować analizy full-table.
Statystyczne dotyczące wskaźników, takich jak używane do analizy tabeli kursów pełnej próby.
Jeśli nie podasz żadnej próbki opcji lub próbki lub FullScan resample, zapytanie optymalizator próbek danych i oblicza wielkość próby domyślnie.
-
ALL | Kolumny | INDEKS
Aktualizacja wszystkich dotychczasowych statystyk, statystyki utworzone w jednej lub więcej kolumn lub statystyki stworzone dla indeksów.
Jeśli nie podasz żadnej opcji, UPDATE STATYSTYKI aktualizuje wszystkie statystyki dotyczące tabela lub widok indeksowany.
-
NORECOMPUTE
Wyłącz automatyczne aktualizacje AUTO_UPDATE_STATISTICS statystyki statystyki.
Jeśli opcja ta zostanie podana, optymalizator zakończy aktualizację tych statystyk i wyłącza przyszłych aktualizacji.
Aby ponownie włączyć zachowanie AUTO_UPDATE_STATISTICS, reedycja UPDATE STATYSTYKI bez NORECOMPUTE opcji lub uruchomić sp_autostats.
Oprócz tych rozwiązań jest również możliwe zdefiniowanie aktualizacji indeksów w planie utrzymania (konserwacji planu) z bazy danych, ale jest to prawdopodobnie zobaczymy w przyszłości artykułu.