La mise à jour parallèle des statistiques est disponible depuis SQL Server 2005. Elle est documentée dans l'article TechNet, «Statistiques utilisées par l'optimiseur de requête dans Microsoft SQL Server 2005» :
Lorsqu'une analyse complète est effectuée (qu'elle soit explicitement demandée ou non), la requête interne générée pour la collecte de données a la forme générale:
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)
Remarquez le MAXDOP
conseil là-bas (bien qu'il n'y ait aucun moyen pour un utilisateur de spécifier le conseil manuellement). Lorsque des statistiques échantillonnées sont collectées, la requête interne utilise la TABLESAMPLE
clause, ce qui empêche le parallélisme. Le moteur génère également un MAXDOP 1
indice sur la requête interne, qui est un peu redondant.
Si jamais vous avez besoin de réduire le parallélisme, l' MAXDOP
indication dans la requête interne peut être remplacée à l'aide de du gouverneur de ressources (Enterprise uniquement).
SQL Server 2016 ajoute une mise à jour parallèle des statistiques échantillonnées .