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

La ejecución del proceso almacenado desde DotNet lleva mucho tiempo, pero en SSMS es inmediato

Dado que mi comentario parecía proporcionar la respuesta correcta, decidí convertirlo en una respuesta completa para la posteridad con el espíritu de stackoverflow.

Su problema parece ser causado por de SQL Server .Para evitarlo, simplemente asigne los valores de sus parámetros entrantes a otras variables declaradas justo en la parte superior de su SP.

Vea este bonito artículo al respecto

Ejemplo:

CREATE PROCEDURE dbo.MyProcedure
(
    @Param1 INT
)
AS

declare @MyParam1 INT
set @MyParam1 = @Param1

SELECT * FROM dbo.MyTable WHERE ColumnName = @MyParam1 

GO

Copié esta información de eggheadcafe.com .

Editar:según el comentario de Johann Strydom, aquí hay otra opción:Optimizar consultas basadas en parámetros con SQL Server OPTIMIZE FOR Hint .