sql >> Databasteknik >  >> RDS >> Sqlserver

Vad är STATISTICS XML i SQL Server?

I SQL Server kan du använda SET STATISTICS XML sats för att generera detaljerad information om hur en T-SQL-sats exekveras.

Denna information tillhandahålls i form av ett välformaterat XML-dokument.

En gång SET STATISTICS XML är inställd på ON , återspeglas varje efterföljande uttalande i utdata av ett enda XML-dokument.

Varje XML-dokument innehåller texten i satsen, följt av detaljerna om exekveringsstegen.

Utdata visar körtidsinformation såsom kostnader, tillgängliga index och typer av utförda operationer, sammanfogningsordning, antalet gånger en fysisk operation utförs, antalet rader som varje fysisk operatör producerade och mer.

Exempel

Här är ett enkelt exempel att visa.

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;

Resultat:

När du gör detta med ett grafiskt verktyg som SSMS eller Azure Data Studio (bilden) kommer du förmodligen att se en grafisk frågeplan som den på skärmdumpen.

I det här fallet kommer du förmodligen att kunna klicka på olika flikar för att se de faktiska resultaten, såväl som annan statistikdata.

Här är vad som händer när jag klickar på Resultat tab:

I det här fallet får jag se de faktiska resultaten, plus ytterligare en rad med XML Showplan. Genom att klicka på den raden öppnas XML-dokumentet i ett nytt fönster:

Och det här är vad som händer när jag klickar på Topoperationer tab:

Hur man stänger av det

Ställer in STATISTICS XML till ON påverkar alla efterföljande T-SQL-satser tills den stängs av.

För att stänga av det, kör det helt enkelt igen med OFF istället för ON :

SET STATISTICS XML OFF;

STATISTICS XML Ersätter STATISTICS PROFILE

Enligt Microsofts dokumentation, SET STATISTICS XML ska användas istället för SET STATISTICS PROFILE .

SET STATISTICS PROFILE och SET STATISTICS XML är motsvarigheter till varandra. Den förra producerar textutdata; den senare producerar XML-utdata. I framtida versioner av SQL Server kommer ny frågekörningsplansinformation endast att visas via SET STATISTICS XML-satsen, inte SET STATISTICS PROFILE-satsen.

STATISTIK XML vs Inkludera faktisk exekveringsplan

Om Inkludera faktisk utförandeplan väljs i SSMS, SET STATISTICS XML producerar inte XML Showplan-utdata. Ta bort Inkludera faktisk utförandeplan innan du använder SET STATISTICS XML .


  1. Hitta refererade enheter i SQL Server:sys.dm_sql_referenced_entities

  2. Hur man använder GOTO i SQL Server

  3. Hur man väljer från MySQL där tabellnamnet är Variabelt

  4. Hantera NULL-värdena effektivt med SQL COALESCE-funktionen för nybörjare