Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Qu'est-ce que STATISTICS XML dans SQL Server ?

Dans SQL Server, vous pouvez utiliser le SET STATISTICS XML instruction pour générer des informations détaillées sur la façon dont une instruction T-SQL a été exécutée.

Ces informations sont fournies sous la forme d'un document XML bien formé.

Une fois SET STATISTICS XML est réglé sur ON , chaque instruction suivante est reflétée dans la sortie par un seul document XML.

Chaque document XML contient le texte de l'instruction, suivi du détail des étapes d'exécution.

La sortie affiche des informations d'exécution telles que les coûts, les index accédés et les types d'opérations effectuées, l'ordre de jointure, le nombre de fois qu'une opération physique est effectuée, le nombre de lignes produites par chaque opérateur physique, etc.

Exemple

Voici un exemple simple à démontrer.

SET STATISTICS XML ON;

SELECT 
    c.CityName, 
    s.StateProvinceName AS State, 
    c.LatestRecordedPopulation AS Population
FROM Application.Cities c
INNER JOIN Application.StateProvinces s
ON c.StateProvinceID = s.StateProvinceID
WHERE c.LatestRecordedPopulation > 2000000
ORDER BY c.LatestRecordedPopulation DESC;

Résultat :

Lorsque vous effectuez cette opération à l'aide d'un outil graphique tel que SSMS ou Azure Data Studio (illustré), vous verrez probablement un plan de requête graphique comme celui de la capture d'écran.

Dans ce cas, vous pourrez probablement cliquer sur différents onglets pour voir les résultats réels, ainsi que d'autres données statistiques.

Voici ce qui se passe lorsque je clique sur les Résultats onglet :

Dans ce cas, je peux voir les résultats réels, plus une autre ligne avec le Showplan XML. Cliquer sur cette ligne ouvre le document XML dans une nouvelle fenêtre :

Et voici ce qui se passe lorsque je clique sur Top Operations onglet :

Comment l'éteindre

Définition de STATISTICS XML sur ON affecte toutes les instructions T-SQL suivantes jusqu'à ce qu'il soit désactivé.

Pour le désactiver, relancez-le simplement en utilisant OFF au lieu de ON :

SET STATISTICS XML OFF;

STATISTICS XML Remplace STATISTICS PROFILE

Selon la documentation Microsoft, SET STATISTICS XML doit être utilisé à la place de SET STATISTICS PROFILE .

SET STATISTICS PROFILE et SET STATISTICS XML sont des équivalents l'un de l'autre. Le premier produit une sortie textuelle; ce dernier produit une sortie XML. Dans les futures versions de SQL Server, les nouvelles informations sur le plan d'exécution des requêtes ne seront affichées que via l'instruction XML SET STATISTICS, et non via l'instruction SET STATISTICS PROFILE.

STATISTIQUES XML vs inclure le plan d'exécution réel

Si inclure le plan d'exécution réel est sélectionné dans SSMS, SET STATISTICS XML ne produit pas de sortie XML Showplan. Décochez la case Inclure le plan d'exécution réel avant d'utiliser SET STATISTICS XML .