Forum

SQL Büyük...
 
Bildirimler
Hepsini Temizle

SQL Büyük Tablo Verilerini Silme

4 Yazılar
4 Üyeler
0 Reactions
6,402 Görüntüleme
(@rasitkurt)
Gönderiler: 26
Trusted Member
Konu başlatıcı
 

Merhaba 

SQL server içerisinde yaklaşık 3 milyar satırlık bir tablom var ve belli bir tarihten öncesini silmek istiyorum. 

 

Silmeye kalktığım her sorgu ram i şişiriyor(32 GB)ve sorguyu tamamlamadan servisi restart etmek zorunda kalıyorum.

bunun için ne yapabilirim önerisi olan varmı.

Teşekkürler

 
Gönderildi : 12/02/2018 02:25

(@bugraparlayan)
Gönderiler: 324
Üye
 

Selam,

Bir döngü kullanarak silmeyi denediniz mi, 

Örneğin,

SELECT 1
WHILE @@ROWCOUNT > 0
BEGIN
DELETE TOP (5000)
FROM Table
END

Oracle ACE Associate - Türkiye Hayat & Emeklilik

****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 12/02/2018 02:39

(@turancoskun)
Gönderiler: 4100
Üye
 

merhaba,

benzer talep için referans adreste, alternatif yollar mevcut.

tercihinizi job olarak tanımlayıp, zamanlarsanız, yönetimi daha kolay olacaktır.

https://www.mssqltips.com/sqlservertip/3566/deleting-historical-data-from-a-large-highly-concurrent-sql-server-database-table/

****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 12/02/2018 04:14

(@HalitGOKTAS)
Gönderiler: 48
Trusted Member
 

SELECT * INTO  YENITABLO FROM ASILTABLO WHERE TARIH>='01.01.2017'

Sorgusu ile silmek istemediğiniz kısmın kopyasını yeni tabloya hızlıca aktarabilirsiniz.

Eski tablo ismini değiştirip indexleri sildikten sonra, yeni tablo ismini düzeltip indexleri oluşturarak çözülebileceğini düşünüyorum.

 

 

 

 
Gönderildi : 02/03/2018 03:41

Paylaş: