I have engine is SQL which uses EXEC(SQLString)
to run stored procedures. I do that because I need dynamically determine which stored procedure to call and to prepare parameters for that procedure. And I need that logic to be present.
So is this a good way to call stored procedure or I have to use sp_executesql
or there is another way?
I ask this question because I have two timings - 1st is to prepare SQLString
and to call procedure and call another small procedure and 2nd is the execution of the called procedure itself. It works fine almost all the time - the timings are very close. But from time to time I got huge difference between them - the 2nd timing is the same, but 1st is several times bigger (for example 3ms vs 90ms). I suppose some compilation takes place, but this stored procedure is executed very often.
REMARK:
I call sp_
from EXEC(SQL)
, not from EXEC sp_
.