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
Spravovaná instance
Azure SQLDatabáze SQL v Microsoft Fabric
Řada funkcí inteligentního zpracování dotazů (IQP) zahrnuje funkce s širokým dopadem, které zlepšují výkon stávajících úloh s minimálním úsilím implementace, které je potřeba přijmout. Následující obrázek podrobně popisuje řadu funkcí IQP a kdy byly poprvé zavedeny pro SQL Server. Všechny funkce IQP jsou k dispozici ve službě Azure SQL Managed Instance a Azure SQL Database. Některé funkce závisí na úrovni kompatibility databáze.
V tomto videu najdete přehled inteligentního zpracování dotazů:
Ukázky a vzorový kód inteligentního zpracování dotazů (IQP) najdete na GitHubu https://aka.ms/IQPDemos.
Úlohy můžete automaticky využít k inteligentnímu zpracování dotazů povolením příslušné úrovně kompatibility databáze pro databázi. Můžete to nastavit pomocí jazyka Transact-SQL. Například:
ALTER DATABASE [WideWorldImportersDW]
SET COMPATIBILITY_LEVEL = 170;
Následující tabulka obsahuje podrobnosti o všech funkcích inteligentního zpracování dotazů spolu s požadavky, které mají pro úroveň kompatibility databáze. Podrobné informace o všech funkcích IQP, včetně poznámek k verzi a podrobnějších popisů, najdete v tématu Funkce inteligentního zpracování dotazů.
Funkce IQP pro Azure SQL Database a SQL Server 2025
| Funkce IQP | Podporováno ve službě Azure SQL Database | Podporováno v SQL Serveru 2025 (17.x) | Description |
|---|---|---|---|
| Volitelná optimalizace plánu parametrů (OPPO) | No | Ano, počínaje SQL Serverem 2025 (17.x) s úrovní kompatibility 170 | Využívá infrastrukturu optimalizace adaptivního plánu (Multiplan), která byla zavedena s vylepšením optimalizace plánu citlivého na parametry (PSPO), která generuje více plánů z jednoho příkazu. Funkce může zvolit optimální plán za běhu na základě toho, jestli je NULL OR NOT NULLparametr , což zlepšuje výkon dotazů, které by jinak mohly být pro takové vzory dotazů neoptimální. |
| Zpětná vazba k odhadu kardinality (CE) pro výrazy | No | Ano, počínaje SQL Serverem 2025 (17.x) s úrovní kompatibility 160 | Rozšiřuje zpětnou vazbu CE, aby zlepšila odhad kardinality pro opakující se výrazy napříč dotazy tím, že se učí z předchozích spuštění a automaticky použije příslušné volby modelu CE pro budoucí spuštění těchto výrazů. |
| OPTIMIZED_SP_EXECUTESQL | Yes | Ano, počínaje SQL Serverem 2025 (17.x) | Účinně snižte dopad náporu při kompilaci. Kompilační bouře je situace, kdy se současně kompiluje velký počet dotazů, což vede k problémům s výkonem a konfliktu zdrojů. Povolte tuto funkci, aby bylo možné, že vyvolání sp_executesql se chovají jako objekty, například uložené procedury a triggery, z pohledu kompilace. |
Funkce IQP pro Azure SQL Database a SQL Server 2022
| Funkce IQP | Podporováno ve službě Azure SQL Database | Podporováno v SQL Serveru 2022 (16.x) a novějších verzích | Description |
|---|---|---|---|
| Adaptivní spojení (režim batch) | Ano, počínaje úrovní kompatibility databáze 140 | Ano, počínaje SQL Serverem 2017 (14.x) s úrovní kompatibility databáze 140 | Adaptivní spojení dynamicky vybírají typ spojení během běhu na základě skutečných vstupních řádků. |
| Přibližný počet jedinečných | Yes | Ano, počínaje SQL Serverem 2019 (15.x) | Poskytněte přibližné COUNT DISTINCT řešení pro velké objemy dat s výhodou vysokého výkonu a nízkou paměťovou náročností. |
| Přibližný percentil | Ano, počínaje úrovní kompatibility databáze 110 | Ano, počínaje sql Serverem 2022 (16.x) s úrovní kompatibility 110 | Rychlé výpočty percentilů pro velkou datovou sadu s přijatelnými hranicemi chyb založených na pořadí, které pomáhají rychle rozhodovat pomocí přibližných agregačních funkcí percentilu. |
| Dávkový režim v úložišti řádků | Ano, počínaje úrovní kompatibility databáze 150 | Ano, počínaje SQL Serverem 2019 (15.x) s úrovní kompatibility 150 | Poskytnout dávkové zpracování pro úlohy relačního datového skladu omezené procesorem bez použití indexů sloupcového úložiště. |
| odhad kardinality (CE) zpětné vazby | Ano, počínaje úrovní kompatibility databáze 160 | Ano, počínaje SQL Serverem 2022 (16.x) s úrovní kompatibility 160 | Automaticky upraví odhady kardinality pro opakující se dotazy a optimalizuje úlohy, u kterých neefektivní předpoklady CE způsobují nízký výkon dotazů. Zpětná vazba CE identifikuje a použije modelový předpoklad, který lépe vyhovuje danému dotazu a distribuci dat, aby se zlepšila kvalita plánu provádění dotazů. |
| stupeň paralelismu (DOP) | Ano, počínaje úrovní kompatibility databáze 160 | Ano, počínaje úrovní kompatibility databáze 160 | Automaticky upraví stupeň paralelismu pro opakující se dotazy, aby se optimalizovaly pro úlohy, kde neefektivní paralelismus může způsobit problémy s výkonem. Vyžaduje povolení úložiště dotazů. |
| Prokládání provádění | Ano, počínaje úrovní kompatibility databáze 140 | Ano, počínaje SQL Serverem 2017 (14.x) s úrovní kompatibility databáze 140 | Použije skutečnou kardinalitu tabulkové funkce vyhodnocující více příkazů, která byla zjištěna při první kompilaci, místo pevně stanoveného odhadu. |
| Zpětná vazba k udělení paměti (režim Batch) | Ano, počínaje úrovní kompatibility databáze 140 | Ano, počínaje SQL Serverem 2017 (14.x) s úrovní kompatibility databáze 140 | Pokud dotaz v dávkovém režimu obsahuje operace, které přetéknou na disk, přidejte další paměť pro po sobě jdoucí spuštění. Pokud dotaz promarní > 50% přidělené paměti, snižte velikost přidělení paměti pro následná spuštění. |
| Zpětná vazba k příspěvku paměti (režim řádkového zpracování) | Ano, počínaje úrovní kompatibility databáze 150 | Ano, počínaje SQL Serverem 2019 (15.x) s úrovní kompatibility databáze 150 | Pokud dotaz v režimu řádku obsahuje operace, které přetéknou na disk, přidejte další paměť pro po sobě jdoucí spuštění. Pokud dotaz promarní > 50% přidělené paměti, snižte velikost přidělení paměti pro následná spuštění. |
| Zpětná vazba na přidělení paměti (Percentil) | Ano, povoleno u všech databází | Ano, počínaje SQL Serverem 2022 (16.x)) s úrovní kompatibility databáze 140 | Řeší stávající omezení u zpětné vazby na udělování paměti nerušivým způsobem tím, že začleňuje předchozí provádění dotazů pro upřesnění zpětné vazby. |
| Trvalost využití paměťové zpětné vazby | Ano, povoleno u všech databází | Ano, počínaje SQL Serverem 2022 (16.x)) s úrovní kompatibility databáze 140 | Poskytuje nové funkce pro zachování zpětné vazby k paměti. Vyžaduje, aby úložiště dotazů bylo povoleno pro databázi a v READ_WRITE režimu. |
| Trvalost zpětné vazby CE | Ano, počínaje úrovní kompatibility databáze 160 | Ano, počínaje SQL Serverem 2022 (16.x)) s úrovní kompatibility databáze 160 | Vyžaduje, aby úložiště dotazů bylo povoleno pro databázi a v READ_WRITE režimu. |
| Optimalizovaný plán vynucení úložištěm dotazů | Yes | Ano, počínaje SQL Serverem 2022 (16.x)). | Snižuje náklady na kompilaci pro opakující se vynucené dotazy. Další informace naleznete v tématu Vynucení optimalizovaného plánu pomocí úložiště dotazů. |
| Vkládání skalárních UDF | Ano, počínaje úrovní kompatibility databáze 150 | Ano, počínaje SQL Serverem 2019 (15.x) s úrovní kompatibility databáze 150 | Skalární funkce definované uživatelem se transformují na ekvivalentní relační výrazy, které jsou "vložené" do volajícího dotazu, což často vede k významným nárůstům výkonu. |
| Optimalizace plánu citlivého na parametry | Ano, počínaje úrovní kompatibility databáze 160 | Ano, počínaje SQL Serverem 2022 (16.x) s úrovní kompatibility databáze 160 | Optimalizace plánu citlivého parametru řeší scénář, kdy jeden plán uložený v mezipaměti parametrizovaného dotazu není optimální pro všechny možné příchozí hodnoty parametrů, například ne uniformní distribuce dat. |
| Odložená kompilace proměnné tabulky | Ano, počínaje úrovní kompatibility databáze 150 | Ano, počínaje SQL Serverem 2019 (15.x) s úrovní kompatibility databáze 150 | Použije skutečnou kardinalitu proměnné tabulky, ke které došlo při první kompilaci, místo pevného odhadu. |
Funkce IQP pro azure SQL Managed Instance
| Funkce IQP | Podporováno ve službě Azure SQL Managed Instance | Description |
|---|---|---|
| Adaptivní spojení (režim batch) | Ano, počínaje úrovní kompatibility databáze 140 | Adaptivní spojení dynamicky vybírají typ spojení během běhu na základě skutečných vstupních řádků. |
| Přibližný počet jedinečných | Yes | Poskytněte přibližné COUNT DISTINCT řešení pro velké objemy dat s výhodou vysokého výkonu a nízkou paměťovou náročností. |
| Přibližný percentil | Ano, počínaje úrovní kompatibility databáze 110 | Rychlé výpočty percentilů pro velkou datovou sadu s přijatelnými hranicemi chyb založených na pořadí, které pomáhají rychle rozhodovat pomocí přibližných agregačních funkcí percentilu. |
| Dávkový režim v úložišti řádků | Ano, počínaje úrovní kompatibility databáze 150 | Poskytnout dávkové zpracování pro úlohy relačního datového skladu omezené procesorem bez použití indexů sloupcového úložiště. |
| odhad kardinality (CE) zpětné vazby | Ano, počínaje úrovní kompatibility databáze 160 | Automaticky upraví odhady kardinality pro opakující se dotazy a optimalizuje úlohy, u kterých neefektivní předpoklady CE způsobují nízký výkon dotazů. Zpětná vazba CE identifikuje a použije modelový předpoklad, který lépe vyhovuje danému dotazu a distribuci dat, aby se zlepšila kvalita plánu provádění dotazů. |
| stupeň paralelismu (DOP) | Ano, počínaje úrovní kompatibility databáze 160 ve službě Azure SQL Managed Instance se zásadami aktualizací SQL Server 2025 nebo politika Always-up-to-dateaktualizace. Ne, pro zásady aktualizace SQL Serveru 2022. | Automaticky upraví stupeň paralelismu pro opakující se dotazy, aby se optimalizovaly pro úlohy, kde neefektivní paralelismus může způsobit problémy s výkonem. Vyžaduje povolení úložiště dotazů. |
| Prokládání provádění | Ano, počínaje úrovní kompatibility databáze 140 | Použije skutečnou kardinalitu tabulkové funkce vyhodnocující více příkazů, která byla zjištěna při první kompilaci, místo pevně stanoveného odhadu. |
| Zpětná vazba k udělení paměti (režim Batch) | Ano, počínaje úrovní kompatibility databáze 140 | Pokud dotaz v dávkovém režimu obsahuje operace, které přetéknou na disk, přidejte další paměť pro po sobě jdoucí spuštění. Pokud dotaz promarní > 50% přidělené paměti, snižte velikost přidělení paměti pro následná spuštění. |
| Zpětná vazba k příspěvku paměti (režim řádkového zpracování) | Ano, počínaje úrovní kompatibility databáze 150 | Pokud dotaz v režimu řádku obsahuje operace, které přetéknou na disk, přidejte další paměť pro po sobě jdoucí spuštění. Pokud dotaz promarní > 50% přidělené paměti, snižte velikost přidělení paměti pro následná spuštění. |
| Zpětná vazba na přidělení paměti (Percentil) | Ano, počínaje úrovní kompatibility databáze 160 | Řeší stávající omezení u zpětné vazby na udělování paměti nerušivým způsobem tím, že začleňuje předchozí provádění dotazů pro upřesnění zpětné vazby. |
| Trvalost zpětné vazby k paměti, CE a DOP | Ano, počínaje úrovní kompatibility databáze 160 | Poskytuje nové funkce pro zachování zpětné vazby k paměti. Zpětná vazba k CE a DOP je vždy uchována. Vyžaduje, aby úložiště dotazů bylo povoleno pro databázi a v READ_WRITE režimu. |
| Optimalizovaný plán vynucení úložištěm dotazů | Ne | Snižuje náklady na kompilaci pro opakující se vynucené dotazy. Další informace naleznete v tématu Vynucení optimalizovaného plánu pomocí úložiště dotazů. |
| Vkládání skalárních UDF | Ano, počínaje úrovní kompatibility databáze 150 | Skalární funkce definované uživatelem se transformují na ekvivalentní relační výrazy, které jsou "vložené" do volajícího dotazu, což často vede k významným nárůstům výkonu. |
| Optimalizace plánu citlivého na parametry | Ano, počínaje úrovní kompatibility databáze 160 | Optimalizace plánu citlivosti parametru řeší scénář, kdy jeden plán uložený v mezipaměti parametrizovaného dotazu není optimální pro všechny možné příchozí hodnoty parametrů, například ne uniformní distribuce dat. |
| Odložená kompilace proměnné tabulky | Ano, počínaje úrovní kompatibility databáze 150 | Použije skutečnou kardinalitu proměnné tabulky, ke které došlo při první kompilaci, místo pevného odhadu. |
Funkce IQP pro SQL Server 2019
| Funkce IQP | Podporováno v SQL Serveru 2019 (15.x) | Description |
|---|---|---|
| Adaptivní spojení (režim batch) | Ano, počínaje SQL Serverem 2017 (14.x) s úrovní kompatibility databáze 140 | Adaptivní spojení dynamicky vybírají typ spojení během běhu na základě skutečných vstupních řádků. |
| Přibližný počet jedinečných | Yes | Poskytněte přibližné COUNT DISTINCT řešení pro velké objemy dat s výhodou vysokého výkonu a nízkou paměťovou náročností. |
| Dávkový režim v úložišti řádků | Ano, počínaje úrovní kompatibility databáze 150 | Poskytnout dávkové zpracování pro úlohy relačního datového skladu omezené procesorem bez použití indexů sloupcového úložiště. |
| Prokládání provádění | Ano, počínaje úrovní kompatibility databáze 140 | Místo pevného odhadu použijte skutečnou kardinalitu vícepříkazové tabulkové funkce zjištěnou při první kompilaci. |
| Zpětná vazba k udělení paměti (režim Batch) | Ano, počínaje úrovní kompatibility databáze 140 | Pokud dotaz v dávkovém režimu obsahuje operace, které přetéknou na disk, přidejte další paměť pro po sobě jdoucí spuštění. Pokud dotaz promarní > 50% přidělené paměti, snižte velikost přidělení paměti pro následná spuštění. |
| Zpětná vazba k příspěvku paměti (režim řádkového zpracování) | Ano, počínaje úrovní kompatibility databáze 150 | Pokud dotaz v režimu řádku obsahuje operace, které přetéknou na disk, přidejte další paměť pro po sobě jdoucí spuštění. Pokud dotaz promarní > 50% přidělené paměti, snižte velikost přidělení paměti pro následná spuštění. |
| Vkládání skalárních UDF | Ano, počínaje úrovní kompatibility databáze 150 | Skalární funkce definované uživatelem se transformují na ekvivalentní relační výrazy, které jsou "vložené" do volajícího dotazu, což často vede k významným nárůstům výkonu. |
| Odložená kompilace proměnné tabulky | Ano, počínaje úrovní kompatibility databáze 150 | Místo pevného odhadu použijte skutečnou kardinalitu proměnné tabulky, která byla zjištěna při první kompilaci. |
Funkce IQP pro SQL Server 2017
| Funkce IQP | Podporováno v SQL Serveru 2017 (14.x) | Description |
|---|---|---|
| Adaptivní spojení (režim batch) | Ano, počínaje SQL Serverem 2017 (14.x) s úrovní kompatibility databáze 140 | Adaptivní spojení dynamicky vybírají typ spojení během běhu na základě skutečných vstupních řádků. |
| Přibližný počet jedinečných | Yes | Poskytněte přibližné COUNT DISTINCT řešení pro velké objemy dat s výhodou vysokého výkonu a nízkou paměťovou náročností. |
| Prokládání provádění | Ano, počínaje úrovní kompatibility databáze 140 | Místo pevného odhadu použijte skutečnou kardinalitu vícepříkazové tabulkové funkce zjištěnou při první kompilaci. |
| Zpětná vazba k udělení paměti (režim Batch) | Ano, počínaje úrovní kompatibility databáze 140 | Pokud dotaz v dávkovém režimu obsahuje operace, které přetéknou na disk, přidejte další paměť pro po sobě jdoucí spuštění. Pokud dotaz promarní > 50% přidělené paměti, snižte velikost přidělení paměti pro následná spuštění. |
Požadavek úložiště dotazů
Několik funkcí inteligentního zpracování dotazů vyžaduje povolení úložiště dotazů , aby bylo možné využít uživatelskou databázi. Pokud chcete povolit úložiště dotazů, přečtěte si téma Povolení úložiště dotazů.
| Funkce IQP | Vyžaduje povolení úložiště dotazů a READ_WRITE |
|---|---|
| Adaptivní spojení (režim batch) | No |
| Přibližný počet jedinečných | No |
| Přibližný percentil | No |
| Dávkový režim v úložišti řádků | No |
| odhad kardinality (CE) zpětné vazby | Yes |
| stupeň paralelismu (DOP) | Yes |
| Prokládání provádění | No |
| Zpětná vazba k udělení paměti (režim Batch) | No |
| Zpětná vazba k příspěvku paměti (režim řádkového zpracování) | No |
| Zpětná vazba k přidělení paměti (percentilový a persistentní režim) | Yes |
| Optimalizovaný plán vynucení úložištěm dotazů | Yes |
| Vkládání skalárních UDF | No |
| Optimalizace plánu citlivého na parametry | Ne, ale doporučeno |
| Odložená kompilace proměnné tabulky | No |
Související obsah
- Funkce inteligentního zpracování dotazů podrobně
- spojení (SQL Server)
- Režimy provádění
- Průvodce architekturou zpracování dotazů
- Odkaz na operátory logického a fyzického plánu zobrazení
- Novinky v SQL Serveru 2017
- Novinky v SQL Serveru 2019
- Novinky v SQL Serveru 2022
- Zpětná vazba k udělení paměti
- demonstrování inteligentního zpracování dotazů
- Konstantní posouvání a vyhodnocení výrazů
- Ukázky inteligentního zpracování dotazů na GitHubu
- Performance Center pro databázový stroj SQL Serveru a službu Azure SQL Database
- Monitorování výkonu s využitím úložiště dotazů
- osvědčené postupy pro monitorování úloh pomocí úložiště dotazů