sql >> Base de Datos >  >> RDS >> Sqlserver

Extraño problema con el plan de ejecución del procedimiento de SQL Server

Parece que está experimentando un plan de consulta almacenado en caché incorrectamente debido a la detección de parámetros.

¿Puedes publicar el procedimiento almacenado?

En SQL Server 2005, puede usar OPTIMIZAR PARA sugerencia de consulta de los valores preferidos de los parámetros para solucionar algunos de los problemas asociados con la detección de parámetros:

Aunque SQL Server 2005 no es compatible con OPTIMIZE FOR UNKNOWN (introducido en SQL Server 2008), lo que eliminará la detección de parámetros para un parámetro determinado:

OPTION (OPTIMIZE FOR (@myParam UNKNOWN))

Puede lograr el mismo efecto en SQL Server 2005 copiando el parámetro en una variable local y luego usar la variable local en la consulta.