Алгоритм автоматического обновления статистики:
Таким образом, статистика автоматического обновления будет срабатывать при каждых 500 + 20% изменениях в строках таблицы. Конечно, у нас есть улучшенный алгоритм в SQL 2012, который является SQRT (1000 * строк таблицы), что намного лучше.
Когда он запускается, он будет использовать частоту дискретизации по умолчанию, и вот алгоритм расчета частоты дискретизации.
1) Если таблица <8 МБ, тогда она обновляет статистику с полным сканированием.
2) Если таблица> 8 МБ, она следует алгоритму. Это уменьшает частоту выборки, так как количество строк в таблице увеличивается, чтобы мы не сканировали слишком много данных. Это не фиксированное значение, но находится под контролем оптимизатора. Это также не линейный алгоритм.
Пример: если у нас есть 1 000 000 строк, он будет использовать частоту дискретизации 30%, но когда число строк увеличится до 8 000 000, это уменьшит частоту выборки до 10%. Эти частоты дискретизации не находятся под контролем администраторов баз данных, но оптимизатор решает это.