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
SQL Database v Microsoft Fabric
Toto téma definuje maximální stupeň paralelismu a vysvětluje, jak toto nastavení upravit v SQL Serveru pomocí aplikace SQL Server Management Studio nebo jazyka Transact-SQL.
V systémech s více procesory, na kterých běží SQL Server Enterprise nebo vyšší, můžou příkazy indexu používat více procesorů k provádění operací prohledávání, řazení a indexování přidružených k příkazu indexu stejně jako ostatní dotazy. Počet procesorů použitých ke spuštění jednoho indexového příkazu je určen maximálním stupněm paralelismu konfiguraci serveru, aktuální úlohou a statistikou indexu. Maximální stupeň paralelismu určuje maximální počet procesorů, které se mají použít při paralelním provádění plánu. Pokud databázový stroj SQL Serveru zjistí, že systém je zaneprázdněn, stupeň paralelismu operace indexu se automaticky sníží před spuštěním příkazu. Databázový stroj může také snížit stupeň paralelismu, pokud hlavní klíčový sloupec neděleného indexu má omezený počet jedinečných hodnot nebo frekvence jednotlivých jedinečných hodnot se výrazně liší. Další informace naleznete v tématu Průvodce architekturou zpracování dotazů.
Poznámka
Paralelní operace indexu nejsou k dispozici v každé edici SQL Serveru. Další informace naleznete v tématu Edice a podporované funkce SQL Server 2022.
v tomto tématu
Než začnete:
Nastavení maximálního stupně paralelismu pomocí:
Než začnete
Omezení a restrikce
Počet procesorů používaných optimalizátorem dotazů obvykle poskytuje optimální výkon. Operace, jako je vytváření, opětovné sestavení nebo vyřazení velmi velkých indexů, jsou však náročné na prostředky a můžou způsobit nedostatečné prostředky pro jiné aplikace a databázové operace po dobu trvání operace indexu. Pokud k tomuto problému dojde, můžete ručně nakonfigurovat maximální počet procesorů, které se používají ke spuštění příkazu indexu omezením počtu procesorů, které se mají použít pro operaci indexu.
Možnost indexu MAXDOP přepíše maximální stupeň konfigurace paralelismu pouze pro dotaz určující tuto možnost. Následující tabulka uvádí platné celočíselné hodnoty, které lze zadat s maximálním stupněm konfigurace paralelismu a možností indexu MAXDOP.
Hodnota Popis 0 Určuje, že server určuje počet použitých procesorů v závislosti na aktuální systémové úloze. Toto je výchozí hodnota a doporučené nastavení. 1 Potlačuje vytvoření paralelního plánu. Operace se spustí sériově. 2-64 Omezí počet procesorů na zadanou hodnotu. V závislosti na aktuální úloze se může použít méně procesorů. Pokud je zadána hodnota větší než počet dostupných procesorů, použije se skutečný počet dostupných procesorů. Paralelní spuštění indexu a možnost indexu MAXDOP platí pro následující příkazy Transact-SQL:
DROP INDEX (to platí jenom pro clusterované indexy.)
Možnost indexu MAXDOP nelze zadat v příkazu
ALTER INDEX (...) REORGANIZE
.Požadavky na paměť pro dělené indexové operace, které vyžadují řazení, můžou být větší, pokud Optimalizátor dotazů aplikuje na operaci sestavení stupně paralelismu. Čím vyšší je stupeň paralelismu, tím větší je požadavek na paměť. Další informace najdete v tématu dělené tabulky a indexy.
oprávnění
Vyžaduje oprávnění ALTER
v tabulce nebo zobrazení.
Použití aplikace SQL Server Management Studio
Nastavení maximálního stupně paralelismu indexu
V Průzkumníku objektů kliknutím na znaménko plus rozbalte databázi obsahující tabulku, na které chcete nastavit maximální stupeň paralelismu indexu.
Rozbalte složku Tabulky.
Kliknutím na znaménko plus rozbalte tabulku, na které chcete nastavit maximální stupeň paralelismu indexu.
Rozbalte složku Indexy.
Pravým tlačítkem myši klikněte na index, pro který chcete nastavit maximální stupeň paralelismu, a vyberte Vlastnosti.
V sekci Vyberte stránku, vyberte Možnosti.
Vyberte Maximální stupeň paralelismua zadejte hodnotu mezi 1 a 64.
Klepněte na tlačítko OK.
Použití Transact-SQL
Nastavení maximálního stupně paralelismu u existujícího indexu
V Průzkumníku objektůpřipojte se k instanci databázového serveru.
Na panelu Standard klikněte na Nový dotaz.
Zkopírujte a vložte následující příklad do okna dotazu a klikněte na Spustit.
USE AdventureWorks2022; GO /*Alters the IX_ProductVendor_VendorID index on the Purchasing.ProductVendor table so that, if the server has eight or more processors, the Database Engine will limit the execution of the index operation to eight or fewer processors. */ ALTER INDEX IX_ProductVendor_VendorID ON Purchasing.ProductVendor REBUILD WITH (MAXDOP=8); GO
Další informace naleznete v ALTER INDEX (Transact-SQL).
Určení maximálního stupně paralelismu při vytváření nového indexu
V Průzkumníku objektůse připojte k instanci databázového serveru.
Na panelu Standard klikněte na Nový dotaz.
Zkopírujte a vložte následující příklad do okna dotazu a klikněte na Spustit.
USE AdventureWorks2022; GO CREATE INDEX IX_ProductVendor_NewVendorID ON Purchasing.ProductVendor (BusinessEntityID) WITH (MAXDOP=8); GO
Viz také
Průvodce architekturou zpracování dotazů
CREATE INDEX (Transact-SQL)
ALTER INDEX (Transact-SQL)
DROP INDEX (Transact-SQL)
ALTER TABLE (Transact-SQL)
ALTER TABLE table_constraint (Transact-SQL)
ALTER TABLE index_option (Transact-SQL)