您的位置:首页 > 数据库 > SQL语言 > 正文

SET NOCOUNT ON 作用

更多 时间:2014-5-21 类别:数据库 浏览量:915

SET NOCOUNT ON 作用

SET NOCOUNT ON 作用

一、语法

SET NOCOUNT { ON | OFF }

 

二、说明

 

1、当 SET NOCOUNT 为 ON 时,不返回计数。当 SET NOCOUNT 为 OFF 时,返回计数。

2、即使当SET NOCOUNT为ON时,也更新@@ROWCOUNT 函数。当SET NOCOUNT为ON 时,将不给客户端发送存储过程中的每个语句的DONE_IN_PROC信息。当使用提供的实用工具执行查询时,在Transact-SQL语句(如SELECT、INSERT、UPDATE 和DELETE)结束时将不会在查询结果中显示"nn rows affected"。

 

3、当 SET NOCOUNT 为 ON 时,将不向客户端发送存储过程中每个语句的 DONE_IN_PROC 消息。如果存储过程中包含一些并不返回许多实际数据的语句,或者如果过程包含 Transact-SQL 循环,网络通信流量便会大量减少,因此,将 SET NOCOUNT 设置为 ON 可显著提高性能。

4、SET NOCOUNT 指定的设置是在执行或运行时生效,而不是在分析时生效。

 

5、对于包含了很多不返回实际数据的语句的存储过程,使用Set NoCount on可以很大的提高性能,因为可以减少网络流量。

6、如果存储过程中有多个语句,则默认情况下,在每个语句完成时给客户端应用程序发送一条消息,详细说明每个语句所影响的行数。大多数应用程序不需要这些消息。如果确信应用程序不需要他们,可以禁用这些消息,以提高慢速网络的性能。我们就可以通过SET NOCOUNT会话设置为应用程序禁用这些消息。(其实大部分应用程序都不需要这个值)

 

7、当没有必要返回给客户端“n 行受到影响”消息时,应该在存储过程的开始设置 SET NOCOUNT ON,在存储过程结束时设置SET NOCOUNT OFF.

 

标签:SQL
您可能感兴趣