Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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
SELECTodkazuje na tři tabulky, databázový server by mohl nejprve získat přístup kTableA, pomocí dat zTableAextrahovat odpovídající řádky zTableBa pak pomocí dat zTableBextrahovat data zTableC. Další sekvence, ve kterých má databázový server přístup k tabulkám, jsou:
TableC,TableB,TableAnebo
TableB,TableA,TableCnebo
TableB,TableC,TableAnebo
TableCTableATableBMetody 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 BYneboORDER BYa filtrování dat, například při použití klauzuleWHEREneboHAVING.
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
- Nastavení příznaků trasování pomocí DBCC TRACEON (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