Hola a todos,
Mi inquietud es sobre el rendimiento de una consulta la cual es:
SELECT MvICod, MvFecha, SUM(MvICant) AS Expr1
FROM MovimientosInv INNER JOIN
PedidosDia ON MovimientosInv.MvICod = PedidosDia.PLU
WHERE (MvITipoDoc = 'FV') AND (MvISucursal = 2) AND (MvFecha between
'20030902' and '20030908') AND (MvITipo = 'VT')
GROUP BY MvICod, MvFecha
declare @fecha1 datetime, @fecha2 datetime, @sucursal int
SET @FECHA1='20030902'
SET @FECHA2='20030908'
set @sucursal=2
SELECT MvICod, MvFecha, SUM(MvICant) AS Expr1
FROM MovimientosInv INNER JOIN
PedidosDia ON MovimientosInv.MvICod = PedidosDia.PLU
WHERE (MvITipoDoc = 'FV') AND (MvISucursal = @sucursal) AND (MvFecha
between @fecha1 and @fecha2 ) AND (MvITipo = 'VT')
GROUP BY MvICod, MvFecha
Si se fijan las dos select son iguales, la diferencia es que en el primero
no manejo variables, mientras en el segundo (declaro las variables arriba y
les asigno el mismo valor de la primera consulta).
Porque puede ocurrir que la primera consulta la realice inmediatamente y el
costo de la consulta es de 0%, mientras el segundo se demora unos 8 segundos
y el costo de esta sea del 100 %.
Muchas gracias,
Camilo Acosta
Leer las respuestas