Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Problema estranho com o plano de execução do procedimento do SQL Server


Parece que você está enfrentando um plano de consulta armazenado em cache incorretamente devido à detecção de parâmetros.

Você pode postar o procedimento armazenado?

No SQL Server 2005, você pode usar o OTIMIZAR PARA dica de consulta para valores preferenciais de parâmetros para corrigir alguns dos problemas associados à detecção de parâmetros:

Embora o SQL Server 2005 não suporte OPTIMIZE FOR UNKNOWN (introduzido no SQL Server 2008), o que eliminará a detecção de parâmetros para um determinado parâmetro:
OPTION (OPTIMIZE FOR (@myParam UNKNOWN))

Você pode obter o mesmo efeito no SQL Server 2005 copiando o parâmetro em uma variável local e, em seguida, usando a variável local na consulta.