Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft 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
MAXDOPseç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 veMAXDOPdizin 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
MAXDOPdizin seçeneği aşağıdaki Transact-SQL deyimlerine uygulanır:- İNDİS OLUŞTUR
- ALTER INDEX (...) YENİDEN İNŞA ET
- DROP INDEX (Bu yalnızca kümelenmiş dizinler için geçerlidir.)
- ALTER TABLE ADD (indeks) CONSTRAINT
- ALTER TABLE KALDIR (kümelenmiş dizin) KISIT
MAXDOPdeyimindeALTER INDEX (...) REORGANIZEdizin 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
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.
Tablolar klasörünü genişletin.
Bir dizin için en yüksek paralellik derecesini ayarlamak istediğiniz tabloyu genişletmek için artı işaretini seçin.
Dizinler klasörünü genişletin.
En yüksek paralellik derecesini ayarlamak istediğiniz dizine sağ tıklayın ve Özellikler'i seçin.
Sayfa seç'in altında Seçenekler'i seçin.
En yüksek paralellik derecesi'ne tıklayın ve 1 ile 64 arasında bir değer girin.
Tamam'ı seçin.
Transact-SQL kullanma
Mevcut bir dizinde en yüksek paralellik derecesini ayarlama
Nesne Gezgini'nde Veritabanı Motoru'nun bir örneğine bağlanın.
Standart araç çubuğunda, Yeni Sorgu'yu seçin.
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.ProductVendordizini 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
Nesne Gezgini'nde Veritabanı Motoru'nun bir örneğine bağlanın.
Standart araç çubuğunda, Yeni Sorgu'yu seçin.
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