Tablo seviyesinde ya da indeks seviyesinde veri değişikliği (data modification)


Bu kadar zaman geçtikten sonra SQL 2005’le ilgili hala yeni bir şey öğrenebilmek biraz şaşırtıcı : ) Ama aynı zamanda önemli bir ayrıntı daha öğrenmenin keyfi de var bir yandan.

SQL 2005 öncesi SQL Server sürümleri için, toplu data yüklemesi (özellikle update) yapacağımız durumlar için, indeksleri düşürmek, toplu işlemi yapmak ve ardından indeksleri yeniden oluşturmak tavsiye edilirdi.

Oysa SQL Server toplu bir değişikliği, tablo seviyesinde ya da tek tek indeksler seviyesinde yapabiliyor. Yani eğer yeterince fazla miktarda veri değişikliği olacaksa ve etkilenen fazlaca indeks varsa, SQL Server analiz yapıp şuna karar verebiliyor: Değişen veriyi ilgili indekse göre sırala, ilgili indeksi update et, sonraki indekse geç ve değişen veriyi ona göre sırala ve sonra ilgili indeksi update et… Böyle böyle indeks sayısı kadar devam et.

Eğer yaptığınız bir bulk update’in sorgu planına baktığınızda etkilenen indeks sayısı kadar update işlemi görüyorsanız (siz tek bir update çalıştırdığınız halde), indeks seviyesinde update tercih edilmiş demektir. Tek bir update görüyorsanız, klasik tablo seviyesi update uygulanmış demektir.

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

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