Waarschijnlijk is het omdat in het parametergeval de optimizer niet kan weten dat de waarde niet null is, dus het moet een plan maken dat correcte resultaten retourneert, zelfs als dat wel het geval is. Als je SQL Server 2008 SP1 hebt, kun je proberen OPTION(RECOMPILE)
toe te voegen op de vraag.