Omdat mijn opmerking het juiste antwoord leek te geven, heb ik besloten om het te verplaatsen naar een volledig antwoord voor het nageslacht in de geest van stackoverflow.
Uw probleem lijkt te worden veroorzaakt door Parameter Sniffing van SQL Server .Om dit te voorkomen, wijst u uw inkomende parameterwaarden toe aan andere variabelen die bovenaan uw SP worden gedeclareerd.
Voorbeeld:
CREATE PROCEDURE dbo.MyProcedure
(
@Param1 INT
)
AS
declare @MyParam1 INT
set @MyParam1 = @Param1
SELECT * FROM dbo.MyTable WHERE ColumnName = @MyParam1
GO
Ik heb deze informatie gekopieerd van eggheadcafe.com .
Bewerken:volgens de opmerking van Johann Strydom is hier een andere optie:Parametergestuurde query's optimaliseren met SQL Server OPTIMALISEREN VOOR Hint .