Performance differences calling sp_executesql with dynamic SQL vs parameters
Given: CREATE PROCEDURE [dbo].[my_storedproc] @param1 int, @param2 varchar(100) AS <<whatever>> GO Are there known performance differences between these different execution methods?: -- Method #1: declare @param1 int = 1 declare @param2 varchar(100) = 'hello' exec my_storedproc @param1, @param2 -- Method #2: exec my_storedproc @param1=1, @param2='hello' -- Method #3: declare @param1 int = 1 declare @param2 varchar(100) = 'hello' declare @procname nvarchar(100) = N'my_storedproc @param1, @param2' declare @params nvarchar(4000) = N'@param1 int, @param2 varchar(100)' exec sp_executesql @procname,