Ash*_*ine 90 sql sql-server dynamic
在SQL Server中使用存储过程执行动态SQL命令的真实优点和缺点是什么?
EXEC (@SQL)
Run Code Online (Sandbox Code Playgroud)
与
EXEC SP_EXECUTESQL @SQL
Run Code Online (Sandbox Code Playgroud)
?
Mit*_*eat 93
sp_executesql
更有可能促进查询计划的重用.使用时sp_executesql
,在调用签名中明确标识参数.这篇优秀的文章描述了这个过程.
对于动态SQL的许多方面,经常引用的参考文献是Erland Sommarskog必须阅读:" 动态SQL的诅咒和祝福 ".
Microsoft的《使用sp_executesql》一文建议使用sp_executesql
代替execute
语句。
因为此存储过程支持参数替换,所以sp_executesql比EXECUTE具有更多的功能;并且由于sp_executesql生成的执行计划更有可能被SQL Server重用,因此sp_executesql 比EXECUTE 更有效。
所以,带走:不要使用execute
statement。使用sp_executesql
。
归档时间: |
|
查看次数: |
199809 次 |
最近记录: |