SQL Server, objekt SQL Statistiky

platí pro:SQL Server

Objekt SQLServer:SQL Statistics v SQL Server poskytuje čítače pro sledování kompilace a typu požadavků zasílaných instanci SQL Server. Sledování počtu kompilací a rekompilací dotazů a počtu přijatých dávek instancí SQL Server vám dává představu o tom, jak rychle SQL Server zpracovává uživatelské dotazy a jak efektivně optimalizátor dotazů zpracovává.

Kompilace je významnou součástí doby zpracování dotazu. Aby se ušetřily náklady na kompilaci, Database Engine ukládá zkompilovaný plán dotazů do cache dotazů. Cache snižuje kompilaci tím, že ukládá zkompilované dotazy pro pozdější použití, což eliminuje nutnost znovu kompilovat dotazy při dalších vykonáních. Každý jedinečný dotaz však musí být zkompilován alespoň jednou. Následující faktory mohou způsobit rekompilaci dotazů:

  • Změny schématu, včetně změn základního schématu, jako je přidání sloupců nebo indexů do tabulky, nebo změn statistického schématu, například vložení nebo smazání významného počtu řádků z tabulky.

  • Změny prostředí (SET příkaz). Změny v nastavení relace, jako například ANSI_PADDING nebo ANSI_NULLS mohou způsobit překompilaci dotazu.

Další informace najdete tady:

Následující tabulka uvádí čítače SQL Statistics v SQL Server.

Čítače SQL Statistik v SQL Server Description
Automatické pokusy o param/sec Počet pokusů o automatickou parametrizaci za sekundu. Celkový součet by měl být součtem neúspěšných, bezpečných a nebezpečných automatických parametrizací. Automatická parametrizace nastává, když se instance SQL Server pokusí parametrizovat požadavek Transact-SQL nahrazením některých literálů parametry, aby bylo možné znovu použít výsledný cacheovaný plán vykonání napříč více podobně vypadajícími požadavky. Autoparametrizace je také známá jako jednoduchá parametrizace. Tento čítač nezahrnuje nucené parametrizace.
Dávkové požadavky/sekunda Počet Transact-SQL příkazových dávek přijatých za sekundu. Tato statistika je ovlivněna všemi omezeními (jako je I/O, počet uživatelů, velikost cache a složitost požadavků). Vysoké dávkové požadavky znamenají dobrou propustnost.
Neúspěšné automatické parametry za sekci Počet neúspěšných pokusů o automatickou parametrizaci za sekundu. Tato hodnota by měla být malá. Autoparametrizace je také známá jako jednoduchá parametrizace.
Nucené parametrizace za sekundu Počet úspěšných nucených parametrizací za sekundu.
Řízené realizace plánů/sec Počet provedení plánu za sekundu, při kterém byl dotazovací plán generován pomocí průvodce plánem.
Mylné realizace plánů/sec Počet provedení plánu za sekundu, při kterém nemohl být plánovací průvodce dodržen během generování plánu. Optimalizátor dotazů ignoroval plán a použil běžnou kompilaci k vytvoření provedeného plánu.
Bezpečné automatické parametry za sekundu Počet pokusů o bezpečnou automatickou parametrizaci za sekundu. Safe označuje určení, že cacheovaný plán provádění lze sdílet mezi různými podobně vypadajícími Transact-SQL příkazy. SQL Server provádí mnoho pokusů o automatickou parametrizaci. Některé se ukážou být v bezpečí, jiné selžou. Autoparametrizace je také známá jako jednoduchá parametrizace. Tento čítač nezahrnuje nucené parametrizace.
SQL Attention rate Počet pozorností za sekundu. Pozornost je požadavek klienta na ukončení aktuálně běžícího požadavku.
SQL kompilace/sec Počet SQL kompilací za sekundu. Označuje počet zadaní cesty kódu kompilace. Zahrnuje kompilace způsobené rekompilacemi na úrovni příkazů v SQL Server. Po stabilní uživatelské aktivitě SQL Server dosáhne tato hodnota stabilního stavu.
SQL re-kompilace/sec Počet příkazů překompilovaných za sekundu. Počítá počet spuštění překompilací příkazů. Obecně chcete, aby rekompilace byly nízké.
Nebezpečné automatické parametry/sek Počet nebezpečných pokusů o automatickou parametrizaci za sekundu. Například dotaz má některé vlastnosti, které brání sdílení cacheovaného plánu. Tyto charakteristiky jsou označeny jako nebezpečné. Tento počet nezahrnuje počet nucených parametrizací.

Examples

Pro prozkoumání ukazatelů výkonu dotazů v tomto objektu spusť následující dotaz Transact-SQL (T-SQL) v dynamickém pohledu sys.dm_os_performance_counters :

SELECT *
FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%SQL Statistics%';