He usado dos métodos para solucionar problemas de detección de parámetros en el pasado:
1) Usar WITH RECOMPILE
2) Reasignar valores de parámetros a variables locales y usarlos en lugar de los parámetros
Por lo que entiendo, el resultado final de ambos es el mismo: se crea y utiliza un nuevo plan de ejecución que está optimizado para la consulta / parámetros actuales.
Si esto es cierto, ¿hay alguna diferencia entre estos dos métodos o son esencialmente los mismos? ¿Es preferible uno sobre el otro?
fuente