REBUILD endeksi neden endeks parçalanmasını azaltmıyor?


Yanıtlar:


39

Bir dizin çok küçükse (8 sayfadan daha az olduğuna inanıyorum), karışık uzantıları kullanacaktır. Bu nedenle, konut boyutu birden fazla dizinden sayfa içereceğinden, hala parçalanma varmış gibi görünecektir.

Bundan dolayı, parçalanma gibi küçük bir endekste tipik olarak ihmal edilebilir olduğu gerçeğinden dolayı, gerçekten yalnızca belirli bir sayfa eşiğine sahip endeksleri yeniden oluşturmalısınız. En az 1000 sayfa olan parçalanmış dizinleri yeniden oluşturmak en iyi yöntemdir .


34

Bu aynı zamanda çok BÜYÜK endekslerle de olabilir.

Yaklaşık% 30'un altında birleştiremediğim yaklaşık 700m satırlık bir masada bazı indekslerim vardı. Sorun, dizini art arda düzenlemek için veritabanında bitişik boş alan yoktu.

Birleştirmeyecek çok büyük bir dizinde çalışmak için, EN İYİ çözüm, yeni bir veritabanını önceden boyutlandırmak ve tüm nesnelerinizi bu DB'ye taşımak ve ardından dizinlerinizi orada yeniden oluşturmaktır.


1

Bir süredir bununla mücadele ettim ve JNK gibi ben de problemim boş alan ve diskte fiziksel parçalanma oldu. Ancak, bir SSD SAN'da bu konuda ne yaparsınız?

Şimdi yalnızca index_level = 0 eklemenin iyi bir fikir olabileceğini öğrendim. Ola Hallengren'in senaryosunda böyle yapılır.

Başka bir gelişme yapmak

 REBUILD With (maxdop = 1)

Bu şekilde maksimum iyileştirme sağlarsınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.