Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Differenz der Ausführungszeit der gespeicherten SQL-Prozedur

Das Problem mit dem Unterschied zwischen dem Aufrufen von SP direkt und aus .NET-Code, möglicherweise aufgrund von Parameter-Sniffing. SQL Server speichert möglicherweise einen Ausführungsplan, der für die Parameter, die Sie aus dem Code übergeben, nicht optimal ist.

Um dies zu vermeiden, versuchen Sie, WITH RECOMPILE zu Ihrer SP-Definition hinzuzufügen, z. B.

CREATE PROCEDURE MySP (
    ... parameters...
) WITH RECOMPILE

AS

BEGIN
   ...