Aracılığıyla paylaş


Paralel dizin işlemlerini yapılandırma

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

Bu makalede en yüksek paralellik derecesi tanımlanmaktadır ve SQL Server Management Studio veya Transact-SQL kullanılarak SQL Server'da bu ayarın nasıl değiştirileceği açıklanmaktadır.

SQL Server Enterprise veya üzerini çalıştıran çok işlemcili sistemlerde dizin deyimleri, diğer sorgularda olduğu gibi dizin deyimiyle ilişkili tarama, sıralama ve dizin işlemlerini gerçekleştirmek için birden çok işlemci (CPU) kullanabilir. Tek bir dizin deyimini çalıştırmak için kullanılan CPU sayısı, maksimum paralellik sunucusu yapılandırma seçeneği, geçerli iş yükü ve dizin istatistikleri tarafından belirlenir.

En yüksek paralellik derecesi seçeneği, paralel plan yürütmede kullanılacak en fazla işlemci sayısını belirler. SQL Server Veritabanı Altyapısı sistemin meşgul olduğunu algılarsa, deyim yürütme başlamadan önce dizin işleminin paralellik derecesi otomatik olarak azaltılır. Bölümlenmemiş bir dizinin önde gelen anahtar sütununda sınırlı sayıda ayrı değer varsa veya her bir ayrı değerin sıklığı önemli ölçüde değişiyorsa, Veritabanı Altyapısı paralellik derecesini de azaltabilir. Daha fazla bilgi için bkz. Sorgu İşleme Mimarisi Kılavuzu.

Note

Paralel dizin işlemleri her SQL Server sürümünde kullanılamaz. Daha fazla bilgi için, SQL Server 2022 sürümleri ve desteklenen özellikleriyle ilgili ve'a bakın.

Sınırlamalar

  • Sorgu iyileştiricisi tarafından kullanılan işlemci sayısı genellikle en iyi performansı sağlar. Ancak, çok büyük dizinler oluşturma, yeniden derleme veya bırakma gibi işlemler yoğun kaynak kullanır ve dizin işlemi süresi boyunca diğer uygulamalar ve veritabanı işlemleri için yetersiz kaynaklara neden olabilir.

    Bu sorun oluştuğunda, dizin işlemi için kullanılacak işlemci sayısını sınırlayarak dizin deyimini çalıştırmak için kullanılan işlemci sayısı üst sınırını el ile yapılandırabilirsiniz.

  • Dizin MAXDOP seçeneği, yalnızca bu seçeneği belirten sorgu için en yüksek paralellik derecesi yapılandırma seçeneğini geçersiz kılar. Aşağıdaki tabloda, en yüksek paralellik derecesi yapılandırma seçeneği ve MAXDOP dizin seçeneğiyle belirtilebilen geçerli tamsayı değerleri listelenir.

    Value Description
    0 Sunucunun, geçerli sistem iş yüküne bağlı olarak kullanılan CPU sayısını belirlediğini belirtir. Bu varsayılan değerdir ve önerilen ayardır.
    1 Paralel plan oluşturmayı bastırır. İşlem seri olarak yürütülür.
    2-64 İşlemci sayısını belirtilen değerle sınırlar. Geçerli iş yüküne bağlı olarak daha az işlemci kullanılabilir. Kullanılabilir CPU sayısından daha büyük bir değer belirtilirse, kullanılabilir CPU'ların gerçek sayısı kullanılır.
  • Paralel dizin yürütme ve MAXDOP dizin seçeneği aşağıdaki Transact-SQL deyimlerine uygulanır:

  • MAXDOP deyiminde ALTER INDEX (...) REORGANIZE dizin seçeneği belirtilemiyor.

  • Sorgu İyileştiricisi derleme işlemine paralellik dereceleri uygularsa, sıralama gerektiren bölümlenmiş dizin işlemleri için bellek gereksinimleri daha büyük olabilir. Paralellik derecesi ne kadar yüksekse bellek gereksinimi de o kadar yüksek olur. Daha fazla bilgi için bkz . Bölümlenmiş tablolar ve dizinler.

Permissions

Tablo veya görünümde ALTER izin gerektirir.

SQL Server Management Studio'yu kullanma

Dizinde en yüksek paralellik derecesini ayarlama

  1. Nesne Gezgini'nde artı işaretini seçerek dizin için en yüksek paralellik derecesini ayarlamak istediğiniz tabloyu içeren veritabanını genişletin.

  2. Tablolar klasörünü genişletin.

  3. Bir dizin için en yüksek paralellik derecesini ayarlamak istediğiniz tabloyu genişletmek için artı işaretini seçin.

  4. Dizinler klasörünü genişletin.

  5. En yüksek paralellik derecesini ayarlamak istediğiniz dizine sağ tıklayın ve Özellikler'i seçin.

  6. Sayfa seç'in altında Seçenekler'i seçin.

  7. En yüksek paralellik derecesi'ne tıklayın ve 1 ile 64 arasında bir değer girin.

  8. Tamam'ı seçin.

Transact-SQL kullanma

Mevcut bir dizinde en yüksek paralellik derecesini ayarlama

  1. Nesne Gezgini'nde Veritabanı Motoru'nun bir örneğine bağlanın.

  2. Standart araç çubuğunda, Yeni Sorgu'yu seçin.

  3. Aşağıdaki örneği kopyalayıp sorgu penceresine yapıştırın ve Yürüt'e tıklayın. Bu kod tablodaki IX_ProductVendor_VendorIDPurchasing.ProductVendor dizini değiştirir, böylece sunucu sekiz veya daha fazla işlemciye sahipse Veritabanı Altyapısı dizin işleminin yürütülmesini sekiz veya daha az işlemciyle sınırlar.

    USE AdventureWorks2022;
    GO
    
    ALTER INDEX IX_ProductVendor_VendorID
        ON Purchasing.ProductVendor REBUILD WITH(MAXDOP = 8);
    GO
    

Daha fazla bilgi için bkz. ALTER INDEX .

Yeni dizin oluştururken en yüksek paralellik derecesini belirtin

  1. Nesne Gezgini'nde Veritabanı Motoru'nun bir örneğine bağlanın.

  2. Standart araç çubuğunda, Yeni Sorgu'yu seçin.

  3. Aşağıdaki örneği kopyalayıp sorgu penceresine yapıştırın ve Yürüt'e tıklayın.

    USE AdventureWorks2022;
    GO
    
    CREATE INDEX IX_ProductVendor_NewVendorID
        ON Purchasing.ProductVendor(BusinessEntityID) WITH (MAXDOP = 8);
    GO