请教存储过程执行的问题
以下4种执行存储过程的区别是什么?
我实际测试了,貌似没什么区别,执行计划都能复用.
① exec [sp_name] [parameter]② exec sp_executesql N'exec [sp_name] [parameter]', N'[parameter define]', N'[parameter value]'③ declare @sql varchar(6000) select @sql='exec [sp_name] [parameter]' exec(@sql) ④ declare @p int exec sp_prepexec @p output, N'[parameter define]', N'exec [sp_name] [parameter]', [parameter]=[value] exec sp_execute @p, [parameter]=[value]
SELECT cacheobjtype,objtype,usecounts,sql FROM sys.syscacheobjects WHERE sql NOT LIKE '%cache%' AND sql NOT LIKE '%sys.%' AND sql NOT LIKE '%sp_executesql%'