Megosztás a következőn keresztül:


Párhuzamos indexműveletek konfigurálása

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-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 MAXDOP index 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 az MAXDOP index 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 MAXDOP indexbeállítás a következő Transact-SQL utasításokra vonatkozik:

  • Az MAXDOP indexbeállítás nem adható meg az ALTER INDEX (...) REORGANIZE utasí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

  1. 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.

  2. Nyissa meg a Táblák mappát.

  3. 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.

  4. Nyissa meg a Indexek mappát.

  5. 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.

  6. A Válasszon egy lapot, válassza a Beállításoklehetőséget.

  7. Válassza a Párhuzamosság maximális foka lehetőséget, majd adjon meg egy 1 és 64 közötti értéket.

  8. 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

  1. Az Object Explorer-ben csatlakozzon az adatbázismotor egy példányához.

  2. A Standard sávon válassza Új lekérdezéslehetőséget.

  3. 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.ProductVendor tá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

  1. Az Object Explorer-ben csatlakozzon az adatbázismotor egy példányához.

  2. A Standard sávon válassza Új lekérdezéslehetőséget.

  3. 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