17/08/2011, 08:43
|
| | Fecha de Ingreso: agosto-2011
Mensajes: 3
Antigüedad: 13 años, 4 meses Puntos: 0 | |
Diferencia en planes de ejecucion entre procedimiento y query aislado Hola!, Estoy teniendo un problema de performance con un sp (sql 2000). Al analizar el plan de ejecucion encuentro que está realizando un table scan, pero si yo ejecuto el select por fuera (el mismo del sp, con los mismos parametros y tipo), el plan de ejecucion opta por un scan index. Ya he regenerado el sp, tambien lo he marcado para recompilar (sp_recompile...) y sigue la diferencia entre los planes de ejecucion.
El query es de este tipo:
declare @fechadesde datetime , @fechahasta datetime
set
select top 10 headerId from Headers
where campoId=@Id
and campotexto='DD'
and campofecha between @fechadesde and @fechahasta
existe un indice por los tres campos, en ese orden.
@id esta definido en la cabecera del sp como int, para realizar las pruebas lo defino de igual medida.
Desde ya muchas gracias por cualquier sugerencia. |