2016-03-22 17 views
-1

deyiminde DATEDIFF nasıl engellenir T-SQL sorgumumu 'u WHERE maddesinden kaldırarak en iyi duruma getirmek istiyorum. Ben herhangi bir sütun karşı GETDATE() ile DATEDIFF karşılaştırmak istiyorsanızT-SQL optimizasyonu

WHERE DATEDIFF(hh, DATE1, DATE2) > HOUR 

DATE1 ve her iki farklı tablolarda geliyor DATE2, ben optimize edebilirsiniz ama burada, ben tablolardan iki sütunu var: My sorgu bu WHERE hüküm bulunmaktadır.

DATEDIFF için bu ya da başka herhangi bir alternatifi optimize etmenin herhangi bir yolu var mı?

+1

DATEDIFF sizin Fiili yürütme planı size gösterdiği ne çok hızlı bir işlemdir deneyebilirsiniz? –

+0

'u optimize etmek için yanlış yere bakıyor olabilirsiniz. Evet, size katılıyorum. DATEDIFF hızlı - Ben de burada diğer birkaç blogları gözden geçirdim ama sadece optimizasyon amacı için, fıkraların içindeki işlevlerden kaçınmak istiyorum. sorgum iyi performans gösteriyor. –

+0

tablonuzda hesaplanmış bir sütun olarak sahip olabilirsiniz. Ancak bazı insanlar sütunları hesaplamayı sevmezler. Size daha iyi bir performans vermez, ancak sizin için önemliyse WHERE maddesinde olmayacaktır. –

cevap

0

Sen

WHERE DATE2 - DATE1 > HOUR/24