Ho una colonna di data nella tabella di SQL Server denominata dd
.Differenza nelle prestazioni in SQL
dd
---------------------------
10-01-2015 00:00:00.000
22-05-2015 10:22:32.521
27-05-2015 12:30:48.310
24-12-2014 09:51:11.728
27-05-2015 02:05:40.775
....
Ho bisogno di recuperare tutte le righe in cui il valore di dd è delle ultime 24 ore.
ho trovato 3 opzioni per il filtraggio per ottenere il risultato necessario:
1. `dd >= getdate() - 1`
2. `dd >= dateadd(day, -1, getdate())
3. `dateadd(day, 1, dd) >= getdate()
Le mie domande sono: Sono tutte le 3 opzioni recupererà tutte le righe di cui ho bisogno?
Se sì, qual è la differenza tra loro?
# 3 è il peggiore che si possa fare! – JimmyB
Hai esaminato i piani di esecuzione? –
# 1 e # 2 sono identici, dove # 1 è solo la notazione abbreviata di MS-SQL per # 2. Userei il n. 2, perché sembra trasmettere più chiaramente al lettore quale unità viene aggiunta. – JimmyB