SQL大圣之路笔记——SQL存储过程优化之 nocount

在存储过程中,经常用到SET NOCOUNT ON;

作用:阻止在结果集中返回显示受T-SQL语句或则usp影响的行计数信息。
当SET ONCOUNT ON时候,不返回计数,当SET NOCOUNT OFF时候,返回计数;

即使当SET NOCOUNT ON 时候,也更新@@RowCount;

当SET NOCOUNT on时候,将不向客户端发送存储过程每个语句的DONE_IN_proc消息,如果存储过程中包含一些并不返回实际数据的语句,网络通信流量便会大量减少,可以显著提高应用程序性能;

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

 1 ///当出入数据过多,使用nocount 可以不返回影响的行数,达到优化的目的:
 2 
 3 set NOCOUNT ON 4 
 5 INSERT INTO prc_xoem_stor_sr_data_raw (stor_id,slsprs_id,slsprs_nm,lst_upt_dtm) 
 6 select'7836','20438','test','2016-05-03'UNION ALL
 7 select'96558','20438','test','2016-05-03'UNION ALL
 8 select'101377','20438','test','2016-05-03'UNION ALL
 9 .
10 .
11 .
12 select'101431','20438','','2016-05-03'UNION ALL
13 select'101573','20438','','2016-05-03' 
14 set NOCOUNT OFF 
原文地址:https://www.cnblogs.com/allenzhang/p/5454664.html