动态SQL-EXEC(@SQL)与EXEC SP_EXECUTESQL(@SQL) [英] Dynamic SQL - EXEC(@SQL) versus EXEC SP_EXECUTESQL(@SQL)

查看:125
本文介绍了动态SQL-EXEC(@SQL)与EXEC SP_EXECUTESQL(@SQL)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用SQL Server在存储过程中执行动态SQL命令的现实世界优缺点是什么

What are the real world pros and cons of executing a dynamic SQL command in a stored procedure in SQL Server using

EXEC (@SQL)

对比

EXEC SP_EXECUTESQL @SQL

推荐答案

sp_executesql 更有可能促进查询计划的重用。使用 sp_executesql 时,在调用签名中显式标识参数。这篇出色的文章描述了过程

sp_executesql is more likely to promote query plan reuse. When using sp_executesql, parameters are explicitly identified in the calling signature. This excellent article descibes this process.

对于动态SQL的许多方面,经常引用的参考是Erland Sommarskog的必读内容: 动态SQL的诅咒和祝福

The oft cited reference for many aspects of dynamic sql is Erland Sommarskog's must read: "The Curse and Blessings of Dynamic SQL".

这篇关于动态SQL-EXEC(@SQL)与EXEC SP_EXECUTESQL(@SQL)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆