Ver Mensaje Individual
  #6 (permalink)  
Antiguo 02/12/2008, 08:57
Avatar de matanga
matanga
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años, 2 meses
Puntos: 85
Respuesta: SELECCIONAR registros por fecha - MES (MONTH)

Si bien es cierto que hay una pequeña contradicción, no deja de ser abolutamente cierto. Antes que aplicar una función a un campo dentro de un where es preferible aplicar la función inversa al valor

Lee como funciona el optimizador en la msdn, y además realiza un pequeño ejemplo para sacar tus propias conclusiones.

Código:
create table t1 (id numeric(8), data varchar(30))
Go
create unique index ind_t1_id on t1(id)
Go
insert into t1 values (1,'data 1')
insert into t1 values (2,'data 2')
insert into t1 values (3,'data 3')
insert into t1 values (4,'data 4')
insert into t1 values (5,'data 5')
insert into t1 values (6,'data 6')
Go
select * from t1 where id = 5
Go
select * from t1 where (id+3) = 5 --funcion aplicada a un campo
Go
select * from t1 where id = 5 - 3 --funcion inversa aplicada al valor
Go
En los últimos 3 select activa el plan de ejecución real y mira las diferencias.

Saludos