我可以在TSQL中为查询全局"设置NOCOUNT ON"吗?

Tim*_*uri 5 t-sql performance sql-server-2008

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

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

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

有没有办法SET NOCOUNT ON在一个sproc的顶部,并将它传播到下面的所有sprocs和语句?

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

Jon*_*onH 4

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

SET NOCOUNT ON

可以根据@user92546的答案进行全局更改,但我总是对全局更改有点警惕。当你需要它的那一刻,你就会意识到已经发生了全局性的变化......谨慎行事:)。