DW tablolarımız için SORT_IN_TEMPDB seçeneğinin kullanılıp kullanılmayacağını tartışıyoruz. Anladığım kadarıyla, bu seçeneği kullanırken daha sıralı olmalarına rağmen daha fazla yazma olduğu. Zaman zaman çok yavaş davranan bir SAN'ımız var, bu nedenle bizim durumumuzda yazma sayısını mümkün olduğunca sınırlamak istiyoruz. Tempdb'nin ayrı bir LUN (disk takımı) üzerinde olduğuna inanıyorum.
Veri dosyamızda ve tempdb dosyamızda bol miktarda disk alanı var. Bu durumda, SORT_IN_TEMPDB kullanmaktan faydalanabilir miyiz?
Beni vuran tek şey bu cevap üzerine yorum yapıldı.
Bir dizini yeniden oluştururken, sıralama için dizinin% + 20'sinin iki katı boşluk gerekir. Genel olarak, db'nizdeki her dizini yeniden oluşturmak için DB'nizdeki en büyük dizininizin yalnızca% 120'sine ihtiyacınız var. SORT_IN_TEMPDB kullanıyorsanız, sadece% 20 kazanırsınız, yine de veri dosyanızda bir% 100'e ihtiyacınız vardır. Dahası, sortd öğesini tempdb'de kullanmak, IO yükünüzü büyük ölçüde artırır, çünkü dizini bir kez veri dosyasına yazmak yerine, şimdi bir kez tempdb'ye yazıp ardından veri dosyasına yazarsınız. Yani bu her zaman ideal değildir.
Yavaş / muhtemelen yanlış yapılandırılmış SAN'ımızla IO yükümüzü kesinlikle artırmak istemiyoruz.
Bunu test etmenin en iyi yolu ne olurdu? Seçeneği olan ve olmayan tabloyu yeniden inşa ederek ve zaman günlüğü?
Düzenleme : Her biri 15GB olan 8 tempdb dosyamız var. TF 1117/1118 bayrakları ayarlandı ve IFI etkinleştirildi. Şu anda sort_in_tempdb seçeneğiyle ve onsuz yeniden oluşturma karışımı yapıyoruz.
Teşekkürler!
SQL Server 2012 Kurumsal