【发布时间】:2014-10-13 05:22:58
【问题描述】:
为了获得更好的性能,我们在 SP 中使用 Set NOCOUNT on?
是否必须在 SP 末尾提及 Set NOCOUNT off?
如果不是,它会伤害任何地方吗?
谢谢
【问题讨论】:
标签: sql-server sql-server-2008 sql-server-2005 sql-server-2012 nocount
为了获得更好的性能,我们在 SP 中使用 Set NOCOUNT on?
是否必须在 SP 末尾提及 Set NOCOUNT off?
如果不是,它会伤害任何地方吗?
谢谢
【问题讨论】:
标签: sql-server sql-server-2008 sql-server-2005 sql-server-2012 nocount
set nocount on 将禁用受影响的 X 行。消息 SQL 返回。在某些情况下,由于客户端执行存储过程的不良影响,此消息会被抑制。
set nocount off 将撤消此抑制。但是,set nocount on 是一个作用域设置,默认情况下,无论如何离开作用域时都会关闭。
现在,set nocount off 有必要吗?不,因为执行的任何新命令都将在不同的范围内,默认情况下set nocount off 始终有效。但是正如上面在 cmets 中所说的,这被认为是一种很好的做法,只是为了明确表明该设置将在 proc 执行完成后恢复正常。
是否必须在 SP 末尾提及Set NOCOUNT off? - 没有
如果不是,它会伤害任何地方吗? - 没有
【讨论】: