Параллельное обновление статистики доступно с SQL Server 2005. Оно описано в статье TechNet «Статистика, используемая оптимизатором запросов в Microsoft SQL Server 2005» :
Когда выполняется полное сканирование (независимо от того, запрошено это явно или нет), внутренний запрос, сгенерированный для сбора данных, имеет общую форму:
SELECT
StatMan([SC0])
FROM
(
SELECT TOP 100 PERCENT
[Column] AS [SC0]
FROM [Table] WITH (READUNCOMMITTED)
ORDER BY [SC0]
) AS _MS_UPDSTATS_TBL
OPTION (MAXDOP 16)
Обратите внимание на MAXDOP
подсказку (хотя пользователь не может указать подсказку вручную). Там, где собирается выборочная статистика, внутренний запрос используетTABLESAMPLE
предложение, которое предотвращает параллелизм. Движок также генерирует MAXDOP 1
подсказку на внутренний запрос, который немного избыточен.
Если вам когда-либо понадобится уменьшить параллелизм, MAXDOP
подсказку во внутреннем запросе можно переопределить с помощью регулятора ресурсов. (только для предприятия).
SQL Server 2016 добавляет параллельное обновление выборки статистики.