Algorytm statystyk automatycznej aktualizacji:
Tak więc statystyki automatycznej aktualizacji będą uruchamiane przy każdej zmianie 500 + 20% w wierszach tabeli. Oczywiście w SQL 2012 mamy ulepszony algorytm, którym jest SQRT (1000 * wierszy tabeli), który jest znacznie lepszy.
Gdy zostanie uruchomiony, użyje domyślnej częstotliwości próbkowania, a oto algorytm obliczania częstotliwości próbkowania.
1) Jeśli tabela <8 MB, aktualizuje statystyki za pomocą pełnego skanowania.
2) Jeśli tabela> 8 MB, postępuje zgodnie z algorytmem. Zmniejsza to częstotliwość próbkowania, ponieważ liczba wierszy w tabeli jest zwiększana, aby upewnić się, że nie skanujemy zbyt dużej ilości danych. Nie jest to stała wartość, ale jest pod kontrolą optymalizatora. Nie jest to również algorytm liniowy.
Przykład: jeśli mamy 1 000 000 wierszy, użyłoby częstotliwości próbkowania 30%, ale gdy liczba wierszy wzrośnie do 8 000 000, zmniejszyłaby częstotliwość próbkowania do 10%. Te częstotliwości próbkowania nie są kontrolowane przez DBA, ale decyduje o tym optymalizator.