SET NOCOUNT 使返回的结果中不包含有关受Transact-SQL 语句影响的行数的信息。

语法:SET NOCOUNT { ON | OFF }

注释:

当SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数)。当SET NOCOUNT 为OFF 时,返回计数。

即使当SET NOCOUNT 为 ON 时,也更新@@ROWCOUNT 函数。

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

如果存储过程中包含的一些语句并不返回许多实际的数据,则该设置由于大量减少了网络流量,因此可显著提高性能。

SET NOCOUNT 设置是在执行或运行时设置,而不是在分析时设置。

权限:SET NOCOUNT 权限默认授予所有用户。

结论:我们应该在存储过程的头部加上SET NOCOUNT ON 这样的话,在退出存储过程的时候加上SET NOCOUNT OFF这样的话,以达到优化存储过程的目的。

说明:

1:在查看SQL Server帮助的时候,要注意“权限”这一节,因为某些语句是需要一定的权限的,而我们往往忽略。

2:@@ROWCOUNT是返回受上一语句影响的行数,包括找到记录的数目、删除的行数、更新的记录数等,不要认为只是返回查找的记录数目,而且@@ROWCOUNT要紧跟需要判断语句,否则@@ROWCOUNT将返回0。

3:如果使用表变量,在条件表达式中要使用别名来替代表名,否则系统会报错。

4:在CUD类的操作中一定要有事务处理。

5:使用错误处理程序,用来检查@@ERROR 系统函数的T-SQL语句(IF) 实际上在进程中清除了@@ERROR 值,无法再捕获除零之外的任何值,必须使用SET或SELECT立即捕获错误代码。

关于SQL Server数据库中SET NOCOUNT的用法的介绍就介绍到这里了,希望本次的介绍能够对您有所收获!

SQL Server中通过设置SET NOCOUNT来优化存储过程相关推荐

  1. SQL server中如何设置外键

    以前创建数据库时就是有主键的创建了主键,但是表之间的关系没有联系,要建数据库关系图只有主键没有外键时不行的. 建外键的前提是此外键必须是另外一个表的主键.建外键的步骤: 第一步打开要建外键表的设计器, ...

  2. 如果不使用 SQL Mail,如何在 SQL Server 中发送电子邮件

    如果不使用 SQL Mail,如何在 SQL Server 中发送电子邮件 察看本文应用于的产品 文章编号 : 312839 最后修改 : 2006年12月21日 修订 : 10.1 本页 概要 SQ ...

  3. nocount on_在SQL Server中设置NOCOUNT ON语句的用法和性能优势

    nocount on Have you ever noticed SET NOCOUNT ON statement in T-SQL statements or stored procedures i ...

  4. pads中如何设置等长_如何在SQL Server中设置扩展,监控系统性能

    dbForge Studio for SQL Server为有效的探索.分析SQL Server数据库中的大型数据集提供全面的解决方案,并设计各种报表以帮助作出合理的决策. dbForge Studi ...

  5. 通过 Visual Studio 对 SQL Server 中的存储过程设置断点并进入存储过程对其进行调试...

    通过 Visual Studio 的 Professional 和 Team System 版本,我们可以对 SQL Server 中的存储过程设置断点并进入存储过程对其进行调试,这样我们可以象调试应 ...

  6. 在SQL Server中配置索引创建内存设置的最佳实践

    介绍 (Introduction) The Index Create Memory setting is an advanced SQL Server configuration setting wh ...

  7. sql server中datetime默认值设置和日期函数

    sql server中datetime默认值设置和日期函数 select CONVERT(varchar, getdate(), 120 )         -----------------> ...

  8. 在SQL server中设置时间格式

    在SQL server中设置时间格式 2008-01-13 12:21:02 今天在vs中更新sqlserver,却发现我vs中是当前时间,insert到数据库中却变成了1905年,搞了半天,原来是s ...

  9. 在SQL server中设置表的自动编号功能

    我们都知道很多的数据库软件都为表提供了自动编号的功能,这对于进行有些表的功能是十分有用 的,可以减少很多不必要工作,由于SQL server是我最近才使用的所以,在这个过程中遇到了一些问题,但是经过查 ...

最新文章

  1. 【深度学习笔记】F1-Score
  2. 使用openssl生成ssl(https)证书
  3. Redis常用命令之操作List类型
  4. 利用MATLAB进行系统时域分析,实验二 利用matlab进行系统的时域分析
  5. MFC图像增强之图像普通平滑、高斯平滑、Laplacian、Sobel、Prewitt锐化
  6. python物理模拟_在Python游戏中模拟重力【Programming(Python)】
  7. (转载)Socket编程基本流程实践
  8. 【深度学习】深度学习门前徘徊——正向传播
  9. 有大招儿?请收下这份关于数据与智能的晋级攻略!
  10. 前端学习笔记--百度2010校园招聘题目
  11. i510400和i59400f哪个好?有什么区别
  12. VSCode离线汉化教程
  13. JavaScript实现随机抽奖功能
  14. 如何免费下载知网论文
  15. 如何用计算机制作海报,用电脑怎么做海报_电脑用什么软件做海报
  16. Android自定义控件--仿安全卫士中的一键加速【圆形进度条】
  17. 软件开发模型之迭代模型
  18. LINUX磁盘分区挂载笔记
  19. Python 自然语言处理(基于jieba分词和NLTK)
  20. 爬虫的基本原理:网络爬虫、爬虫基本流程、解析方式、保存数据

热门文章

  1. java猜拳_求一个java猜拳游戏程序
  2. 二自由度云台扫描算法_二自由度云台的机器视觉控制
  3. 内网穿透工具nps和frp
  4. mysql useradd_useradd失败
  5. java拆分excel_Jexcel实现按一定规则分割excel文件的方法
  6. Spring 面试多频 18问
  7. 用Python几行代码实现简单的人脸识别,10分钟完成(附源码)
  8. 中one_气场不比BBA差,续航里程远、加速快的理想ONE值得买吗?
  9. C语言各类型变量所占的字节数
  10. vue router name命名规范_超完整的Vue入门指导