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 Managed Instance
Tento článek popisuje, jak nakonfigurovat cost threshold for parallelism možnost konfigurace serveru v SQL Serveru pomocí aplikace SQL Server Management Studio nebo Transact-SQL.
Prahová hodnota nákladů pro paralelismus
Možnost cost threshold for parallelism určuje prahovou hodnotu, při které SQL Server považuje paralelní plány na počítačích s více než jedním logickým procesorem. Možnost cost threshold for parallelism lze nastavit na libovolnou hodnotu od 0 do 32 767.
Náklady jsou součtem odhadovaných nákladů na operátory v plánu dotazů (například procesoru a vstupně-výstupních operací). Jedná se o relativní míru použitou pouze pro výběr plánu; neměří skutečný modul runtime.
Některé komponenty Transact-SQL mohou inhibovat paralelní plán. Například nelineable skalární uživatelem definované funkce (UDF), úpravy proměnných tabulky a určitá systémová volání. SQL Server vyhodnocuje paralelní alternativy pouze v případě, že odhadované náklady na sériový plán překročí cost threshold for parallelism hodnotu, a pak může zvolit levnější paralelní plán.
Omezení
SQL Server ignoruje cost threshold for parallelism hodnotu za následujících podmínek:
Váš počítač má pouze jeden logický procesor.
Sql Server má k dispozici pouze jeden logický procesor, protože je
affinity maskk dispozici možnost konfigurace.Možnost
max degree of parallelismkonfigurace serveru je nastavena na1hodnotu .
Recommendations
Tato možnost je pokročilá a měla by být změněna pouze zkušeným odborníkem na databázi.
Výchozí hodnota 5 je výchozí bod, nikoli doporučení. V moderních systémech SQL Serveru může zvýšení pomoci udržet menší dotazy OLTP spuštěné pomocí sériových plánů. Před dalšími změnami používejte malé přírůstky a sledujte celý obchodní cyklus. Pokud je to potřeba k optimalizaci výkonu aplikace, proveďte testování aplikací s vyššími a nižšími hodnotami.
Poznámka:
Ve službě Azure SQL Database nemůžete nastavit cost threshold for parallelism. Slouží MAXDOP k řízení paralelismu. Další informace najdete v tématu Změna výchozího maxDOP ve službě Azure SQL Database a azure SQL Managed Instance.
V některých případech může být zvolen paralelní plán, i když náklady na plán dotazu jsou menší než aktuální cost threshold for parallelism hodnota. Rozhodnutí o použití paralelního nebo sériového plánu vychází z odhadu nákladů uvedených dříve v procesu optimalizace. Další informace najdete v průvodci architekturou zpracování dotazů.
Poznámky
Pokud chcete zjistit, jestli cost threshold for parallelism je možnost konfigurace serveru pro vaši úlohu příliš vysoká nebo příliš nízká, vyhledejte následující indikátory.
| Prahová hodnota nákladů pro nastavení paralelismu | Description |
|---|---|
| Příliš nízká | – Paralelně probíhá příliš mnoho dotazů na světlo procesoru. - V úložišti dotazů je is_parallel_plan mnoho plánů nastaveno na 1.- CXPACKET a CXCONSUMER dominuje statistikám typu čekání. Můžete také vidět THREADPOOL a SOS_SCHEDULER_YIELD čekat. |
| Příliš vysoká | – Nedostatek paralelně náročných dotazů na procesor úlohy a využití procesoru je v důsledku toho vyšší než optimální. - SOS_SCHEDULER_YIELD dominuje statistikám typu čekání. |
Povolení
Ve výchozím nastavení se oprávnění ke spuštění sp_configure bez parametrů nebo pouze s prvním parametrem udělují všem uživatelům. Pokud chcete spustit sp_configure s oběma parametry pro změnu možnosti konfigurace nebo spuštění příkazu RECONFIGURE, musí být uživateli uděleno oprávnění na úrovni serveru ALTER SETTINGS. Oprávnění ALTER SETTINGS implicitně uchovává správce systému a správce serveru pevné role serveru.
Použití aplikace SQL Server Management Studio
V Průzkumníku objektů klikněte pravým tlačítkem na server a vyberte Vlastnosti.
Vyberte uzel Pokročilé.
V části Paralelismus změňte
cost threshold for parallelismmožnost na požadovanou hodnotu. Zadejte nebo vyberte hodnotu od 0 do 32 767.
Použijte Transact-SQL
Tento příklad ukazuje, jak použít sp_configure k nastavení hodnoty cost threshold for parallelism na 20.
USE master;
GO
EXECUTE sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXECUTE sp_configure 'cost threshold for parallelism', 20;
GO
RECONFIGURE;
GO
EXECUTE sp_configure 'show advanced options', 0;
GO
RECONFIGURE;
GO
Další informace naleznete v tématu Možnosti konfigurace serveru.
Zpracovat: Po nakonfigurování prahové hodnoty nákladů pro možnost paralelismu
Nastavení se projeví okamžitě bez restartování serveru.
Související obsah
- Konfigurace paralelních indexovacích operací
- Rady dotazů (Transact-SQL)
- ALTER WORKLOAD GROUP (Transact-SQL)
- maska spřažení (možnost konfigurace serveru)
- PŘEKONFIGUROVAT (Transact-SQL)
- možnosti konfigurace serveru
-
sp_configure (Transact-SQL)