Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
Ez a cikk a párhuzamosság maximális fokát határozza meg, és ismerteti, hogyan módosíthatja ezt a beállítást az SQL Server Management Studio vagy a Transact-SQL használatával az SQL Serverben.
Az SQL Server Enterprise-t vagy annál magasabb verziót futtató többprocesszoros rendszereken az indexutasítások több processzort (CPU-t) is használhatnak az indexelési utasításhoz társított vizsgálati, rendezési és indexelési műveletek végrehajtásához, ahogyan más lekérdezések teszik. Az egyetlen indexutasítás futtatásához használt PROCESSZORok számát a párhuzamossági kiszolgáló konfigurációs beállításának maximális mértéke , az aktuális számítási feladat és az indexstatisztikák határozzák meg.
A párhuzamosság maximális foka határozza meg a párhuzamos terv végrehajtásához használandó processzorok maximális számát. Ha az SQL Server adatbázismotor azt észleli, hogy a rendszer foglalt, az indexművelet párhuzamossági foka automatikusan csökken az utasítás végrehajtása előtt. Az adatbázismotor akkor is csökkentheti a párhuzamosság mértékét, ha egy nem particionált index vezető kulcsoszlopa korlátozott számú különböző értékkel rendelkezik, vagy az egyes különálló értékek gyakorisága jelentősen eltér. További információt a lekérdezésfeldolgozási architektúra útmutatójában talál.
Note
A párhuzamos indexműveletek nem érhetők el minden SQL Server-kiadásban. További információkért lásd az SQL Server 2022 kiadásait és támogatott funkcióit.
Korlátozások
A lekérdezésoptimalizáló által használt processzorok száma általában optimális teljesítményt nyújt. Az olyan műveletek azonban, mint például a nagyon nagy indexek létrehozása, újraépítése vagy elvetése, erőforrásigényesek, és az indexművelet időtartama alatt nem elegendő erőforrásokat okozhatnak más alkalmazások és adatbázis-műveletek számára.
Ha ez a probléma jelentkezik, manuálisan konfigurálhatja az indexelési utasítás futtatásához használt processzorok maximális számát az indexművelethez használandó processzorok számának korlátozásával.
A
MAXDOPindex opció csak azon lekérdezések esetében írja felül a párhuzamossági konfiguráció maximálisan megengedett fokát, amelyek megadják ezt az opciót. Az alábbi táblázat felsorolja azokat az érvényes egész számértékeket, amelyek megadhatóak a párhuzamosság konfigurációs beállításának maximális fokával és azMAXDOPindex beállításával.Value Description 0 Megadja, hogy a kiszolgáló az aktuális rendszerterheléstől függően határozza meg a használt processzorok számát. Ez az alapértelmezett érték és ajánlott beállítás. 1 Letiltja a párhuzamos tervgenerálást. A műveletet a rendszer sorosan hajtja végre. 2-64 A processzorok számát a megadott értékre korlátozza. Az aktuális számítási feladattól függően kevesebb processzor használható. Ha a rendelkezésre álló CPU-k számánál nagyobb érték van megadva, a rendszer a rendelkezésre álló CPU-k tényleges számát használja. Az index párhuzamos végrehajtása és az
MAXDOPindexbeállítás a következő Transact-SQL utasításokra vonatkozik:- INDEX KÉSZÍTÉSE
- ALTER INDEX (...) Újraépítés
- DROP INDEX (Ez csak klaszterezett indexekre vonatkozik.)
- ALTER TABLE ADD (index) KORLÁTOZÁS
- ALTER TABLE DROP (klaszterezett index) KORLÁT
Az
MAXDOPindexbeállítás nem adható meg azALTER INDEX (...) REORGANIZEutasításban.A rendezést igénylő particionált indexműveletek memóriakövetelményei nagyobbak lehetnek, ha a Lekérdezésoptimalizáló párhuzamossági fokot alkalmaz a buildelési műveletre. Minél magasabb a párhuzamosság foka, annál nagyobb a memóriaigény. További információ: Particionált táblák és indexek.
Permissions
A táblához vagy nézethez ALTER engedély szükséges.
Az SQL Server Management Studio használata
A párhuzamosság maximális fokának beállítása indexen
Az Objektumkezelőben válassza ki a pluszjelet annak az adatbázisnak a kibontásához, amely azt a táblát tartalmazza, amelyre az indexek maximális párhuzamossági fokát szeretné beállítani.
Nyissa meg a Táblák mappát.
Válassza ki a pluszjelet annak a táblának a kibontásához, amelyre az index maximális párhuzamossági fokát szeretné beállítani.
Nyissa meg a Indexek mappát.
Kattintson a jobb gombbal arra az indexre, amelynek a maximális párhuzamossági fokát be szeretné állítani, és válassza a Tulajdonságok lehetőséget.
A Válasszon egy lapot, válassza a Beállításoklehetőséget.
Válassza a Párhuzamosság maximális foka lehetőséget, majd adjon meg egy 1 és 64 közötti értéket.
Kattintson az OK gombra.
Használd a Transact-SQL-t
A párhuzamosság maximális fokának beállítása meglévő indexen
Az Object Explorer-ben csatlakozzon az adatbázismotor egy példányához.
A Standard sávon válassza Új lekérdezéslehetőséget.
Másolja és illessze be a következő példát a lekérdezési ablakba, és válassza az Végrehajtás lehetőséget. Ez a kód módosítja a
IX_ProductVendor_VendorIDPurchasing.ProductVendortábla indexét, így ha a kiszolgáló nyolc vagy több processzorral rendelkezik, az adatbázismotor nyolc vagy kevesebb processzorra korlátozza az indexművelet végrehajtását.USE AdventureWorks2022; GO ALTER INDEX IX_ProductVendor_VendorID ON Purchasing.ProductVendor REBUILD WITH(MAXDOP = 8); GO
További információ: ALTER INDEX.
A párhuzamosság maximális fokának megadása új index létrehozásakor
Az Object Explorer-ben csatlakozzon az adatbázismotor egy példányához.
A Standard sávon válassza Új lekérdezéslehetőséget.
Másolja és illessze be a következő példát a lekérdezési ablakba, és válassza az Végrehajtás lehetőséget.
USE AdventureWorks2022; GO CREATE INDEX IX_ProductVendor_NewVendorID ON Purchasing.ProductVendor(BusinessEntityID) WITH (MAXDOP = 8); GO