Aracılığıyla paylaş


Paralel bir indeks işlemleri

Birden çok mikroişlemciler olan bilgisayarlarda paralel, çok iş parçacığından oluşan işlemleri oluşturmak veya bir dizini yeniden oluşturmak veya kümelenmiş bir dizini bırakma dizini operasyonlar için oluşturulan sorgu planları sağlar.

Not

Paralel dizin işlemleri yalnızca kullanılabilir SQL Server 2008 Kurumsal.

SQL Server parallelism (çalıştırmak için ayrı bir iş parçacıklarının toplam sayısı), dizin işlemleri olarak belirlerken algoritmalar yapar diğer sorgular için kullanır.En fazla bir dizin operasyon parallelism derecesini tabidir parallelism en büyük ölçüde sunucu yapılandırma seçeneği.Geçersiz kılmak parallelism en büyük ölçüde değeri için Create INDEX ALTER, DROP INDEX ve ALTER tablo deyimlerinde MAXDOP dizin seçeneği ayarlayarak, tek tek dizin işlemleri.

Zaman Database Engine yapılar dizin yürütme planı, paralel işlemleri, aşağıdakiler arasından en düşük değere küme:

  • Mikroişlemciler ya da CPU sayısı bilgisayardaki.

  • Belirtilen sayı parallelism en büyük ölçüde sunucu yapılandırma seçeneği.

  • Için CPU sayısı henüz bir çalışma eşiği üzerinden gerçekleştirilen SQL Server iş parçacığı.

Örneğin, bir bilgisayarda sekiz CPU'yu, yeri olan parallelism en büyük ölçüde olduğu küme 6 için bir dizin işlem için en fazla altı paralel iş parçacığı oluşturulur.Bilgisayardaki CPU beş eşik değerini aşıyorsa SQL Server çalışma dizini yürütme planı oluşturulduğunda, yalnızca üç paralel iş parçacıkları yürütme planını belirtir.

Paralel dizin işleminin ana aşamaları şunlardır:

  • Denetleyici bir iş parçacığı, tablo, Dizin anahtarlarının dağıtımını tahmin etmek için hızlı ve rasgele tarar.Denetleyici iş parçacığı, bir anahtar bir aralık sayısı eşit derecede paralel işlemleri, her anahtar aralığı benzer numaralarını satırları kapsayacak şekilde burada tahmini oluşturacağı anahtar sınırlarını belirler.Örneğin, 4 parallelism derecesini tabloda dört milyon satırlar vardır ve varsa, denetleyici iş parçacığı parçacığının dört küme s satır 1 milyon satır her ile sınırlandırmak anahtar değerlerinin belirler küme.Tüm CPU'lar kullanmak için yeterli anahtar aralıkları kurulamıyor, parallelism derecesini buna göre azaltılır.

  • Denetleyici iş parçacığının iş parçacıkları için paralel operasyonlar derecesini eşit sayıda gönderir ve çalışmalarını tamamlamak bu iş parçacığı için bekler.Temel tablo, yalnızca anahtar değerlerinin satır alan filtre kullanarak her iş parçacığı tarar aralık iş parçacığına atanmış.Her iş parçacığı, anahtar, bir aralıktaki satırlar için bir dizin yapısı oluşturur.Bölümlendirilmiş bir dizini her iş parçacığı, belirtilen sayıda bölüm oluşturur.Bölümleri iş parçacıkları arasında paylaştırılır.Bir dizin nasıl yapılandırıldığını daha fazla bilgi için bkz: tempdb ve dizin oluşturma.

  • Paralel tüm iş parçacığı parçacıkları tamamladıktan sonra denetleyici iş parçacığı parçacığının tek bir dizin içinde dizin subunits bağlanır.Bu aşamada, yalnızca çevrimdışı bir dizin işlemleri için uygulanır.

Tek bir tablo, CREATE veya ALTER tablo deyimleri dizin oluşturulmasını gerektiren birden fazla kısıtlamaları olabilir.Her bireysel dizin oluşturma işlemi, bir bilgisayarda birden çok CPU içeren paralel bir işlemi olabilir, ancak bu birden çok dizin oluşturma işlemleri, serideki gerçekleştirilir.