|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
EXAMPLE存储引擎是一个不做任何事情的存根引擎。它的目的是作为MySQL源代码中的一个例子,用来演示如何开始编写一个新存储引擎。同样,它的主要兴趣是对开发者。EXAMPLE存储引擎不支持编索引。setnocounton是什麼意义。
我想請問一下:setnocounton是什麼意义,為什麼良多的storedprocedures的第一行都有遮一句話??多謝!!!
每次我们在利用查询剖析器调试SQL语句的时分,一般会看到一些信息,提示我们以后有几个行遭到了影响,这是些甚么信息?在我们挪用的时分这些信息有效吗?是不是能够封闭呢?
谜底是这些信息在我们的客户真个使用程序中是没有效的,这些信息是存储过程当中的每一个语句的DONE_IN_PROC信息。
我们能够使用SETNOCOUNT来把持这些信息,以到达进步程序功能的目标。
MSDN中匡助以下:
SETNOCOUNT
使前往的了局中不包括有关受Transact-SQL语句影响的行数的信息。
语法
SETNOCOUNT{ON|OFF}
正文
当SETNOCOUNT为ON时,不前往计数(暗示受Transact-SQL语句影响的行数)。当SETNOCOUNT为OFF时,前往计数。
即便当SETNOCOUNT为ON时,也更新@@ROWCOUNT函数。
当SETNOCOUNT为ON时,将不给客户端发送存储过程当中的每一个语句的DONE_IN_PROC信息。当利用MicrosoftSQLServer供应的有用工具实行查询时,在Transact-SQL语句(如select、_insert、_update和_delete)停止时将不会在查询了局中显现"nnrowsaffected"。
假如存储过程当中包括的一些语句其实不前往很多实践的数据,则该设置因为大批削减了收集流量,因而可明显进步功能。
SETNOCOUNT设置是在实行或运转时设置,而不是在剖析时设置。
权限
SETNOCOUNT权限默许授与一切用户。
结论:我们应当在存储历程的头部加上SETNOCOUNTON如许的话,在加入存储历程的时分加上SETNOCOUNTOFF如许的话,以到达优化存储历程的目标。
多说两句:
1:在检察SqlServer的匡助的时分,要注重“权限”这一节,由于某些语句是必要必定的权限的,而我们常常疏忽。
2:@@ROWCOUNT是前往受上一语句影响的行数,包含找到纪录的数量、删除的行数、更新的纪录数等,不要以为只是前往查找的纪录数量,并且@@ROWCOUNT要紧跟必要判别语句,不然@@ROWCOUNT将前往0。
3:假如利用表变量,在前提表达式中要利用别号来替换表名,不然体系会报错。
4:在CUD类的操纵中必定要有事件处置。
5:利用毛病处置程序,用来反省@@ERROR体系函数的T-SQL语句(IF)实践上在历程中扫除了@@ERROR值,没法再捕捉除零以外的任何值,必需利用SET或select当即捕捉毛病代码。
MySQL的海豚标志的名字叫“sakila”,它是由MySQLAB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者AmbroseTwebaze提供。 |
|