Forum

toplu silme
 
Bildirimler
Hepsini Temizle

toplu silme

2 Yazılar
2 Üyeler
0 Reactions
1,104 Görüntüleme
(@muratsoydan)
Gönderiler: 177
Reputable Member
Konu başlatıcı
 

mssql de 30 milyon satırlık bir tablom var bunlardan farklı bir tablodaki kayıtlarla eşleşenleri silecegim.buda yaklasık 20 milyon kayıt yapıyor.


  While (select count(*) from deneme.dbo.table) > 0
Begin
delete Top(1000) deneme.dbo.table where exists(select id from deneme.dbo.table2


where table2.id=table.id) 


If @@rowcount = 0 break
End


böyle bir sorgu ile kayıtları 1000'er 1000'er silebiliyorum.fakat istedigim bunu daha hızlı yapabilmek.


mumkunatı varmıdır acaba?


database recovery model 'simple'


selamlar

 
Gönderildi : 19/12/2011 18:08

(@yselimakbulut)
Gönderiler: 23
Eminent Member
 

Geç oldu Ama şöylede Yapabilirsin:

 

 create view v1 as (select top (10000) * from deneme.dbo.table2 where table2.id=table.id order by id)

While (@@rowcount > 0) 

Begin

delete from v1

End 

 
Gönderildi : 20/12/2011 13:52

Paylaş: