Förmodligen beror det på att i parameterfallet kan optimeraren inte veta att värdet inte är null, så den måste skapa en plan som ger korrekta resultat även när det är det. Om du har SQL Server 2008 SP1 kan du försöka lägga till OPTION(RECOMPILE)
till frågan.