Rebuild mi Reorganize mı? (SQL Server)


Bu soruyla bana geldiyseniz ben de önce bir karşı soru sorayım: SQL Server 2000 mi 2005 mi?

SQL Server 2000’de indeks operasyonunu online yapmanız gerekiyorsa tek seçeneğiniz reorganize’dı. (Index defrag). Oysa SQL Server 2005 rebuild işlemini de online yapabiliyor. Üstelik rebuild sayfaları doğru sıraya sokarken, aralarındaki boşlukları da alıyor. Oysa reorganize, sadece doğru sıraya sokuyor, boşlukları almıyor. Çünkü reorganize sayfaları ikili karşılaştırma yoluyla yer değiştirerek sıraya sokuyor (bubble sort).

Yine üstelik, 2005’te reorganize rebuild’e göre daha yavaş.

Peki niye hala reorganize seçeneği var? Çünkü rebuild tek bir transaction olarak çalışıyor ve bir problem çıkarsa roll back yapıyor. Bu uygulamanın bu kadar büyük bir işlem için sakıncalı olduğu durumlar olabilir. Reorginize ise ikili karşılaştırmalar yoluyla çalıştığı için her bir işlemi bağımsız düşünüyor. Yani yarıda kalan bir reorganize sonradan tekrar çalıştırılarak kaldığı yerden devam edebilir.

2000 kullanıyorsanız, işlemi online yapmanız gerekiyorsa veya tek bir transaction sizin için kabul edilemezse, reorganize.

2005 kullanıyorsanız, tek bir transaction sizin için kabul edilemezse, reorganize.

Bunlar dışında rebuild.

Sanırım yeterince açıklayıcı olmuştur.

Bu yazı SQL Server içinde yayınlandı. Kalıcı bağlantıyı yer imlerinize ekleyin.

2 Responses to Rebuild mi Reorganize mı? (SQL Server)

  1. impala dedi ki:

    güzel özet geçmişsin. gerçek hayatta her zaman karar vermek böyle basit olsa keşke. index’i rebuild ederken tekrar insert etmen gerektiği için rebuild’ın rollback ettiği, o rollback yaparken de insert yapamayıp tabloyu kilitlediği ve iki process’i de kill edemediğim bir andan 10 dk sonra yazıyorum bunları 🙂 sql server neylerse güzel eyler, bakalım napacak diye izliyorum şimdi.

  2. Fırat Akçay dedi ki:

    teşekkürler dba'ler için faydalı bilgi

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s