再见西城 发表于 2015-1-16 22:35:50

MSSQL教程之SET NOCOUNT 的用法

支持多线程,充分利用CPU资源SETNOCOUNT
使前往的了局中不包括有关受Transact-SQL语句影响的行数的信息。
语法
SETNOCOUNT{ON|OFF}
正文
当SETNOCOUNT为ON时,不前往计数(暗示受Transact-SQL语句影响的行数)。当SETNOCOUNT为OFF时,前往计数。

即便当SETNOCOUNT为ON时,也更新@@ROWCOUNT函数。

当SETNOCOUNT为ON时,将不给客户端发送存储过程当中的每一个语句的DONE_IN_PROC信息。当利用Microsoft®SQLServer™供应的有用工具实行查询时,在Transact-SQL语句(如SELECT、INSERT、UPDATE和DELETE)停止时将不会在查询了局中显现"nnrowsaffected"。

假如存储过程当中包括的一些语句其实不前往很多实践的数据,则该设置因为大批削减了收集流量,因而可明显进步功能。

SETNOCOUNT设置是在实行或运转时设置,而不是在剖析时设置。
权限
SETNOCOUNT权限默许授与一切用户。
示例
下例在osql有用工具或SQLServer查询剖析器中实行时,可避免显现有关受影响的行数的信息。

USEpubsGO--Displaythecountmessage.SELECTau_lnameFROMauthorsGOUSEpubsGO--SETNOCOUNTtoONandnolongerdisplaythecountmessage.SETNOCOUNTONGOSELECTau_lnameFROMauthorsGO--ResetSETNOCOUNTtoOFF.SETNOCOUNTOFFGO







注重:





当SETNOCOUNT为ON时,不前往计数(暗示受Transact-SQL语句影响的行数)。当SETNOCOUNT为OFF时,前往计数。

即便当SETNOCOUNT为ON时,也更新@@ROWCOUNT函数。

当SETNOCOUNT为ON时,将不给客户端发送存储过程当中的每一个语句的DONE_IN_PROC信息。当利用Microsoft

不帅 发表于 2015-1-26 23:40:22

where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。

乐观 发表于 2015-2-4 23:01:59

一个是把SQL语句写到客户端,可以使用DataSet进行加工;

老尸 发表于 2015-2-10 22:36:15

我个人认为就是孜孜不懈的学习

莫相离 发表于 2015-3-1 16:54:35

不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关

admin 发表于 2015-3-10 21:14:34

如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。

透明 发表于 2015-3-17 10:10:40

SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)

愤怒的大鸟 发表于 2015-3-24 06:51:12

原来公司用过MYSQL自己也只是建个表写个SQL
页: [1]
查看完整版本: MSSQL教程之SET NOCOUNT 的用法