Forum
Bildirimler
Hepsini Temizle
SQL Server
2
Yazılar
2
Üyeler
0
Reactions
1,136
Görüntüleme
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
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