【发布时间】:2016-11-03 20:34:45
【问题描述】:
在了解 SQL Server 的性能调优概念时,我发现存储过程在初始行中使用 SET NOCOUNT ON 并在最后一行再次将其设置回 SET NOCOUNT OFF 将有助于提高性能。
我的问题是:在使用带有 SSIS 包的存储过程时,这会有什么帮助?
【问题讨论】:
标签: sql-server sql-server-2008 tsql ssis
在了解 SQL Server 的性能调优概念时,我发现存储过程在初始行中使用 SET NOCOUNT ON 并在最后一行再次将其设置回 SET NOCOUNT OFF 将有助于提高性能。
我的问题是:在使用带有 SSIS 包的存储过程时,这会有什么帮助?
【问题讨论】:
标签: sql-server sql-server-2008 tsql ssis
SET NOCOUNT ON 防止为存储过程中的每个语句向客户端发送 DONE_IN_PROC 消息。对于包含多个不返回太多实际数据的语句的存储过程,或者对于包含 Transact-SQL 循环的过程,将 SET NOCOUNT 设置为 ON 可以显着提高性能,因为网络流量会大大减少。
来源 BOL:SET NOCOUNT
【讨论】:
SET NOCOUNT ON 是一个 set 语句,可防止显示受 T-SQL 查询语句影响的行数的消息。这在存储过程和触发器中使用,以避免显示受影响的行消息。在存储过程中使用 SET NOCOUNT ON 可以显着提高存储过程的性能。
SET NOCOUNT ON:这可以防止消息显示哪些包含受影响的行数。 SET NOCOUNT OFF:这会在消息窗口中显示受影响的行数。
【讨论】: