Büyük üretim veritabanımız var, boyutu 300GB civarında. Silme sorgusunun performansını artırmak için herhangi bir yaklaşım var mı? Şu anda silme hızı dakikada 1-10k arasında, bizim için çok yavaş.
Büyük üretim veritabanımız var, boyutu 300GB civarında. Silme sorgusunun performansını artırmak için herhangi bir yaklaşım var mı? Şu anda silme hızı dakikada 1-10k arasında, bizim için çok yavaş.
Yanıtlar:
Tek bir ifadede çok sayıda satırı silmeye çalışıyorsanız, büyük olasılıkla günlük etkinliğini bekliyorsunuzdur. Böylece yapabilirsiniz:
TRUNCATE
veya DROP
/ tuşlarını kullanın CREATE
.SELECT INTO
saklamak istediğiniz verileri başka bir tabloya koymak için düğmelerini kullanın TRUNCATE
, ardından küçük bölümü geri taşıyın. (Veya eski tabloyu bırakın, yeni tabloyu yeniden adlandırın ve kısıtlamaları / izinleri yeniden uygulayın vb.)CHECKPOINT
günlük yedeklemelerini almak yerine yalnızca günlüğü temizlemeniz gerekir, ancak günlük zincirini yeniden başlatmak için yeniden ayarladığınızdan ve yeni bir tam yedek aldığınızdan emin olmanız gerekir. .Bazı ipuçları var, ancak hangi sürümü kullanıyorsunuz? Kurumsal sürüm mü? Neyse:
Ayrıntıları ekleyin, büyük veritabanı ile çalışırken geçerli tek bir cevap yoktur.
Bunları yığın olarak silmeyi, muhtemelen döngüde silmeyi, her bir yinelemeyi kendi işlemini silmeyi ve ardından her döngü yinelemesinin sonunda günlüğü temizlemeyi denemelisiniz.
Ayrıca, kayıtları silmek için yığın olarak değer olarak kullanacağınız sayıyı bulmanız gerekir. Kapsamlı bir test gerektirir, önce UAT'ta yığın değerini test edebiliyorsanız daha iyi olur.
Nasıl devam edeceğiniz konusunda sizi büyük silme işlemlerini parçalara ayırmaya yönlendirir
Büyük tablonun özyinelemeli yabancı anahtarı varsa silme işlemi yavaş olabilir.
öyleyse, fırsat zamanını bulun, bağımlı hizmetleri devre dışı bırakın, özyinelemeli yabancı anahtarı devre dışı bırakın, büyük silme yapın, ardından yabancı anahtarı tekrar geri yükleyin.
Birkaç nokta daha ekleniyor ...
tablock
Seçenek için git .Daha fazla yardım almak için, kullandığınız sorguyu, tablo bilgilerini ve engelleme bilgilerini gönderin.