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

A execução do proc armazenado do DotNet leva muito tempo, mas no SSMS é imediato


Como meu comentário parecia fornecer a resposta correta, decidi movê-lo para uma resposta completa para a posteridade no espírito do stackoverflow.

Seu problema parece ser causado pelo do SQL Server .Para evitar isso, apenas atribua seus valores de parâmetro de entrada para outras variáveis ​​declaradas bem no topo do seu SP.

Veja este belo artigo sobre isso

Exemplo:
CREATE PROCEDURE dbo.MyProcedure
(
    @Param1 INT
)
AS

declare @MyParam1 INT
set @MyParam1 = @Param1

SELECT * FROM dbo.MyTable WHERE ColumnName = @MyParam1 

GO

Copiei essas informações de eggheadcafe.com .

Editar:de acordo com o comentário de Johann Strydom, aqui está outra opção:Otimizar consultas orientadas por parâmetros com SQL Server OPTIMIZE FOR Hint .