In SQL Server kunt u de SET STATISTICS XML
. gebruiken statement om gedetailleerde informatie te genereren over hoe een T-SQL-statement is uitgevoerd.
Deze informatie wordt geleverd in de vorm van een goed gevormd XML-document.
Eenmaal SET STATISTICS XML
is ingesteld op ON
, wordt elke volgende instructie weergegeven in de uitvoer door een enkel XML-document.
Elk XML-document bevat de tekst van de instructie, gevolgd door de details van de uitvoeringsstappen.
De uitvoer toont runtime-informatie, zoals de kosten, geopende indexen en soorten uitgevoerde bewerkingen, samenvoegvolgorde, het aantal keren dat een fysieke bewerking is uitgevoerd, het aantal rijen dat elke fysieke operator heeft geproduceerd en meer.
Voorbeeld
Hier is een eenvoudig voorbeeld om te demonstreren.
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;
Resultaat:
Wanneer u dit doet met een grafische tool zoals SSMS of Azure Data Studio (afgebeeld), ziet u waarschijnlijk een grafisch queryplan zoals in de schermafbeelding.
In dit geval kunt u waarschijnlijk op verschillende tabbladen klikken om de werkelijke resultaten te zien, evenals andere statistische gegevens.
Dit gebeurt er als ik op de Resultaten . klik tabblad:
In dit geval krijg ik de daadwerkelijke resultaten te zien, plus nog een rij met het XML Showplan. Als u op die rij klikt, wordt het XML-document in een nieuw venster geopend:
En dit is wat er gebeurt als ik op de Topbewerkingen klik tabblad:
Hoe het uit te schakelen
STATISTICS XML
instellen naar ON
beïnvloedt alle volgende T-SQL-instructies totdat het wordt uitgeschakeld.
Om het uit te schakelen, voert u het gewoon opnieuw uit met OFF
in plaats van ON
:
SET STATISTICS XML OFF;
STATISTICS XML
Vervangt STATISTICS PROFILE
Volgens de Microsoft-documentatie, SET STATISTICS XML
moet worden gebruikt in plaats van SET STATISTICS PROFILE
.
SET STATISTICS PROFILE en SET STATISTICS XML zijn tegenhangers van elkaar. De eerste produceert tekstuele uitvoer; de laatste produceert XML-uitvoer. In toekomstige versies van SQL Server wordt nieuwe informatie over het uitvoeringsplan voor query's alleen weergegeven via de SET STATISTICS XML-instructie, niet via de SET STATISTICS PROFILE-instructie.
STATISTIEKEN XML versus inclusief daadwerkelijk uitvoeringsplan
Als Eigenlijk uitvoeringsplan opnemen is geselecteerd in SSMS, SET STATISTICS XML
produceert geen XML Showplan-uitvoer. Wis het Inclusief daadwerkelijk uitvoeringsplan knop voordat u SET STATISTICS XML
gebruikt .