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:
TRUNCATEveya DROP/ tuşlarını kullanın CREATE.SELECT INTOsaklamak 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.)CHECKPOINTgü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 ...
tablockSeçenek için git .Daha fazla yardım almak için, kullandığınız sorguyu, tablo bilgilerini ve engelleme bilgilerini gönderin.