2011-01-03 11 views
6

Hassas bir sql komutu çalıştırmadan önce akıl sağlığı kontrolünü yapmak istedim. Benim IntraDayStats tablo vardır ki3 günlük iş için, 3 günden eski bir tarihi olan kayıtları silmek mi istiyorsunuz?

delete IntraDayStats 
where DATEDIFF(dd, LoadDt, dateadd(d,-3, getdate())) >= 3 

Ben sql iş olarak bu planlamak istiyorum: Ben 3 günden eski bir [LoadDt] tarih değerine sahip kayıtları silmek çalışıyorum ve benim kodu

3 günlük geçmişi yuvarlama. İş her gece çalışır.

cevap

9
where DATEDIFF(dd, LoadDt, dateadd(d,-3, getdate())) >= 3 

kullanın (bir indeks kullanılmayacaktır) sargable değildir

where LoadDt < getdate()- 3 

dahaki sefere kontrol etmek istiyorsanız, DELETE bir SELECT yapmak ve

+0

geri almak ne olduğunu görmek sarp nedir? Bunu hiç duymadım ... Seçimi yaptım ama üç günlük bir haddeleme için mantığı kontrol etmek istedim. teşekkürler – kacalapy

+0

http://en.wikipedia.org/wiki/Sargable – SQLMenace

İlgili konular