Přehled plánu provádění
platí pro:SQL Server
Azure SQL Database
azure SQL Managed Instance
Aby bylo možné spouštět dotazy, musí databázový stroj SQL Serveru analyzovat příkaz, aby určil efektivní způsob, jak získat přístup k požadovaným datům a zpracovat je. Tuto analýzu zpracovává komponenta s názvem Query Optimizer. Vstup optimalizátoru dotazů se skládá z dotazu, schématu databáze (definice tabulek a indexů) a statistiky databáze. Optimalizátor dotazů sestaví jeden nebo více plánů provádění dotazů, někdy nazývané také jako plány dotazů nebo plány provádění . Optimalizátor dotazů zvolí plán dotazu pomocí sady heuristik k vyvážení doby kompilace a naplánování optimálního nastavení, aby bylo možné najít vhodný plán dotazu.
Spropitné
Další informace o zpracování dotazů a plánech provádění dotazů najdete v částech Optimalizace příkazů SELECT a Ukládání a opakované použití plánů provádění do mezipaměti v průvodci architekturou zpracování dotazů.
Informace o zobrazení plánů provádění v aplikaci SQL Server Management Studio a Azure Data Studio najdete v tématu Zobrazení a uložení plánů provádění.
Definice plánu provádění dotazů je:
Posloupnost, ve které jsou zdrojové tabulky přístupné.
Obvykle existuje mnoho sekvencí, ve kterých může databázový server přistupovat k základním tabulkám pro sestavení sady výsledků. Pokud například příkaz
SELECT
odkazuje na tři tabulky, databázový server by mohl nejprve získat přístup kTableA
, pomocí dat zTableA
extrahovat odpovídající řádky zTableB
a pak pomocí dat zTableB
extrahovat data zTableC
. Další sekvence, ve kterých má databázový server přístup k tabulkám, jsou:
TableC
,TableB
,TableA
nebo
TableB
,TableA
,TableC
nebo
TableB
,TableC
,TableA
nebo
TableC
,TableA
,TableB
Metody použité k extrakci dat z každé tabulky.
Obecně platí, že pro přístup k datům v každé tabulce existují různé metody. Pokud se vyžaduje jenom několik řádků s konkrétními hodnotami klíče, může databázový server použít index. Pokud jsou požadovány všechny řádky v tabulce, databázový server může indexy ignorovat a provést kontrolu tabulky. Pokud jsou všechny řádky v tabulce povinné, ale existuje index, jehož klíčové sloupce jsou v
ORDER BY
, může provedení kontroly indexu místo prohledávání tabulky uložit samostatnou sadu výsledků. Pokud je tabulka malá, prohledávání tabulek může být nejúčinnější metodou téměř veškerého přístupu k tabulce.Metody používané k výpočtům a způsob filtrování, agregace a řazení dat z každé tabulky.
Při přístupu k datům z tabulek existují různé metody pro výpočty dat, jako jsou výpočty skalárních hodnot, a agregace a řazení dat definovaných v textu dotazu, například při použití klauzule
GROUP BY
neboORDER BY
a filtrování dat, například při použití klauzuleWHERE
neboHAVING
.
Související obsah
- Monitorování a ladění výkonu
- nástroje pro monitorování výkonu a ladění
- Průvodce architekturou zpracování dotazů
- Statistika živých dotazů
- Monitor aktivity
- Monitorování výkonu pomocí úložiště dotazů
- sys.dm_exec_query_statistics_xml
- sys.dm_exec_query_profiles
- DBCC TRACEON – příznaky trasování (Transact-SQL)
- Odkaz na operátory logického a fyzického plánu zobrazení
- infrastruktury profilace dotazů
- zobrazení a uložení plánů provádění
- Porovnejte a analyzujte prováděcí plány
- Průvodci plánem