Изглежда като надушване на параметри.
Ето едно хубаво обяснение:Надушвам параметър!
По принцип sql сървърът има кеширан план за изпълнение на заявка за параметрите, с които е стартиран за първи път, така че планът не е оптимален за новите стойности, които предавате. Когато изпълните заявката директно, планът се генерира в този момент, така че е бърз.
Можете да маркирате процедурата за повторно компилиране ръчно, като използвате sp_recompile или използвайте опцията With Recompile в неговата дефиниция, така че да се компилира при всяко изпълнение.