¿Que sera mejor?, WHERE

30/12/2006 - 02:07 por Isaias | Informe spam
Estoy metido en una duda, ¿Que sera mejor o mas eficiente?

1..
SELECT *
FROM MyTabla
WHERE datediff(dd,MyColFecha,getdate()) > 180

2..
DECLARE @MyFecha datetime
SET @MyFecha = DATEADD(day, -180, getdate())

SELECT *
FROM MyTabla
WHERE MyColFecha <= @MyFecha

Saludos
IIslas
 

Leer las respuestas

#1 Maxi
30/12/2006 - 14:20 | Informe spam
Hola, la segunda opcion es mas eficiente, cuando vos aplicas una funcion a
la izquierda del where esto hara que no se usen los indices de forma
eficiente


Saludos

[Microsoft MVP SQL Server]
www.sqlgurus.org
Buenos Aires - Argentina
http://maxiaccotto.blogspot.com/
"Isaias" wrote in message
news:
Estoy metido en una duda, ¿Que sera mejor o mas eficiente?

1..
SELECT *
FROM MyTabla
WHERE datediff(dd,MyColFecha,getdate()) > 180

2..
DECLARE @MyFecha datetime
SET @MyFecha = DATEADD(day, -180, getdate())

SELECT *
FROM MyTabla
WHERE MyColFecha <= @MyFecha

Saludos
IIslas

Preguntas similares