Sqlserver中一直在用又經(jīng)常被忽略的知識點一

已經(jīng)有快2個月沒有更新博客了,實在是因為最近發(fā)生了太多的事情,辭了工作,在湘雅醫(yī)院待了一個多月,然后又新?lián)Q了工作......

在平時的工作中,Sqlserver中許多知識點是經(jīng)常用到的,但是有時候我們往往忽略了它們,在過去的一年里,一直使用的是Mysql,現(xiàn)在又開始接觸Sqlserver了,所以就把一些常用又容易忽視的Sqlserver知識點總結一點,以便備忘之用。

所有的操作都將基于Northwind數(shù)據(jù)庫來進行操作。

SET NOCOUNT ON 介紹

在存儲過程中,經(jīng)常用到SET NOCOUNT ON;

作用:阻止在結果集中返回顯示受T-SQL語句或則usp影響的行計數(shù)信息。
當SET NOCOUNT ON 時候,不返回計數(shù),當SET NOCOUNT OFF時候,返回計數(shù)。

當SET NOCOUNT ON 時候,會更新@@RowCount,但是不向客戶端發(fā)送存儲過程每個語句的DONE_IN_proc消息。

如果存儲過程中包含一些并不返回實際數(shù)據(jù)的語句,使用SET NOCOUNT ON時,網(wǎng)絡通信流量便會大量減少,可以顯著提高應用程序性能。

SET NOCOUNT 指定的設置只在執(zhí)行或運行時候生效,分析時候不生效。

示例: