我可以在SQL中为查询全局“设置NOCOUNT ON”吗?

时间:2012-02-08 16:40:06

标签: performance sql-server-2008 tsql

有一个存储过程,我们正在努力提高...的性能......此时我们正在寻找非侵入式'修复'。

这个sproc每天被调用大约500,000次 - 它可以调用下面最多50个其他存储过程。 - 不要问

请拒绝询问'OMGz的冲动,为什么!?'问题 - 但如果可以的话,只需回答这个问题:)

有没有办法在{spocs>顶部的SET NOCOUNT ON,并将它传播到下面的所有sprocs和语句中?

编辑:从下面的前两个答案判断 - 这让我问...有没有办法在连接字符串中设置“用户选项”,以便它适用于一个'用户'? - 这样的任何'秘密提示'都会很棒。

3 个答案:

答案 0 :(得分:4)

简短的回答是不,这不可能传播它。你必须明确说:

SET NOCOUNT ON

可以根据@ user92546的答案进行全局变更,但我总是对全球变化持谨慎态度。在您需要的那一刻,您意识到全球化的变化......谨慎行事:)。

答案 1 :(得分:2)

请参阅User Options

答案 2 :(得分:2)

SET NOCOUNT ON的范围仅限于当前对象。没有办法扩大范围。