sql >> Databáze >  >> RDS >> Sqlserver

Co je STATISTICS XML v SQL Server?

V SQL Server můžete použít SET STATISTICS XML příkaz pro vygenerování podrobných informací o tom, jak byl příkaz T-SQL proveden.

Tyto informace jsou poskytovány ve formě dobře vytvořeného dokumentu XML.

Jednou SET STATISTICS XML je nastaveno na ON , každý následující příkaz se promítne do výstupu jediným dokumentem XML.

Každý dokument XML obsahuje text příkazu, za nímž následují podrobnosti o krocích provádění.

Výstup zobrazuje informace za běhu, jako jsou náklady, přístupné indexy a typy prováděných operací, pořadí spojení, počet provedení fyzické operace, počet řádků vytvořených jednotlivými fyzickými operátory a další.

Příklad

Zde je jednoduchý příklad k demonstraci.

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;

Výsledek:

Když to uděláte pomocí grafického nástroje, jako je SSMS nebo Azure Data Studio (na obrázku), pravděpodobně uvidíte grafický plán dotazů, jako je ten na snímku obrazovky.

V tomto případě pravděpodobně budete moci kliknout na různé karty a zobrazit skutečné výsledky a další statistické údaje.

Zde je to, co se stane, když kliknu na Výsledky karta:

V tomto případě uvidím skutečné výsledky plus další řádek s XML Showplan. Kliknutím na tento řádek se dokument XML otevře v novém okně:

A toto se stane, když kliknu na Nejlepší operace karta:

Jak to vypnout

Nastavení STATISTICS XML na ON ovlivňuje všechny následující příkazy T-SQL, dokud není vypnut.

Chcete-li jej vypnout, jednoduše jej znovu spusťte pomocí OFF místo ON :

SET STATISTICS XML OFF;

STATISTICS XML Nahrazuje STATISTICS PROFILE

Podle dokumentace společnosti Microsoft SET STATISTICS XML by měl být použit místo SET STATISTICS PROFILE .

SET STATISTICS PROFILE a SET STATISTICS XML jsou vzájemné protějšky. První z nich vytváří textový výstup; ten druhý vytváří výstup XML. V budoucích verzích SQL Serveru se budou informace o novém plánu provádění dotazů zobrazovat pouze prostřednictvím příkazu XML SET STATISTICS, nikoli příkazu SET STATISTICS PROFILE.

STATISTIKA XML vs. Zahrnout skutečný plán provádění

Pokud Zahrnout skutečný plán provádění je vybráno v SSMS, SET STATISTICS XML neprodukuje výstup XML Showplan. Vymažte Zahrnout skutečný plán provedení před použitím SET STATISTICS XML .


  1. Získejte všechna data mezi dvěma daty na serveru SQL Server

  2. funkce pro kontrolu, zda SQLite používá journal_mode=WAL nebo journal_mode=DELETE

  3. Pochopení SQL Server Always Encrypted

  4. Maximální doba provádění v phpMyAdmin