当SET ONCOUNT ON时候,不返回计数,当SET NOCOUNT OFF时候,返回计数; 即使当SET NOCOUNT ON 时候,也更新@@RowCount; 当SET NOCOUNT on时候 ,将不向客户端发送存储过程每个语句的DONE_IN_proc消息,如果存储过程中包含一些并不返回实际数据的语句,网络通信流量便会大量减少,可以显著提高应用程序性能; SET NOCOUNT 指定的设置时在执行或运行时候生效 set nocount off select COUNT(1) from T_User ? set nocount on select COUNT(1) from T_User ?
= myPage.NaviCount; //一组页号的数量 //Int32 cp = myPage.PageIndex / NoCount * NoCount; if (pIndex % NoCount == 0 || pIndex % NoCount == NoCount - 1) { lc1.Text = myPage.NaviCount ; //一组页号的数量 Int32 cp = pIndex / NoCount; // *NoCount; if = NoCount && cp ! ; //没有想到更好的解决办法 if (pIndex % NoCount == 0) cp -= NoCount;
使用表变量: 1: alter procedure Performance_Issue_Table_Variables 2: as 3: begin 4: SET NOCOUNT 使用临时表: 1: Create procedure Performance_Issue_Table_Variables 2: as 3: begin 4: SET NOCOUNT 表达式: 1: Create procedure Performance_Solution_CTEexpression 2: as 3: begin 4: SET NOCOUNT go 6: Create procedure Performance_Solution_PhysicalTables 7: as 8: begin 9: SET NOCOUNT create procedure PerformantSP_Aggregate_Results_Using_CaseWhen 2: as 3: begin 4: SET NOCOUNT
varchar(10),@IsCheck varchar(10), @RegDate varchar(10),@RegTime varchar(10) AS BEGIN --事物 SET NOCOUNT ROLLBACK TRAN --回滚事物 commit tran --提交事物 end else --没有错误 commit tran --提交事物 END GO 扫盲: 1.SET NOCOUNT 当 SET NOCOUNT 为 ON时,不返回计数(表示受 Transact-SQL 语句影响的行数)。 当 SET NOCOUNT 为 OFF 时,返回计数。 如果存储过程中包含的一些语句并不返回许多实际的数据,则该设置由于大量减少了网络流量,因此可显著提高性能。
ControlGrid = (WebControl)base.Page.FindControl(CID); } Int32 NoCount break; case -99: //前导 if (tmpPageIndex % NoCount PageIndex = tmpPageIndex / NoCount * NoCount; isNavi = true; PageIndex = tmpPageIndex + NoCount; else PageIndex = (this.PageIndex / NoCount + 1) * NoCount + 1; isNavi = true; break;
target="_blank">申请企业版获取 1.3 返回结果 字段名称 字段描述 comCode 快递公司对应的编码 id 请忽略 noCount startTime 请忽略 1.4 返回数据示例 [ { "comCode": "shunfeng", "id": "", "noCount "noPre": "9069", "startTime": "" }, { "comCode": "yuantong", "id": "", "noCount
Purchasing.uspVendorAllInfo; GO CREATE PROCEDURE Purchasing.uspVendorAllInfo WITH EXECUTE AS CALLER AS SET NOCOUNT Purchasing.uspVendorAllInfo; GO CREATE PROCEDURE Purchasing.uspVendorAllInfo WITH EXECUTE AS CALLER AS SET NOCOUNT Purchasing.uspVendorAllInfo; GO CREATE PROCEDURE Purchasing.uspVendorAllInfo WITH EXECUTE AS CALLER AS SET NOCOUNT Purchasing.uspVendorAllInfo; GO CREATE PROCEDURE Purchasing.uspVendorAllInfo WITH EXECUTE AS CALLER AS SET NOCOUNT
int Declare @SQl nvarchar(max), @WhereR nvarchar(max), @OrderBy nvarchar(max) set @rowcount=0 set nocount -------------------------- --print @SQl --exec [SelectBase] 1,8,'SpaceContent','UserInfoID=45' set nocount
[P_SYSTEM_FindData] ( @value VARCHAR(1024) ) AS BEGIN -- SET NOCOUNT ON added to prevent SET NOCOUNT ON; DECLARE @sql VARCHAR(1024) DECLARE @table VARCHAR(64) DECLARE @column VARCHAR(64)
UPPER(LTRIM(RTRIM(@SortDire))) --DECLARE @TimeDiff datetime --不返回计数(表示受 Transact-SQL 语句影响的行数) SET NOCOUNT SELECT @CommandText --INSERT INTO Temp_GetRecordByPage (CommandText) SELECT @CommandText --返回计数 SET NOCOUNT OFF --在存储过程的头部加上SET NOCOUNT ON 这样的话,在退出存储过程的时候加上 SET NOCOUNT OFF,以达到优化存储过程的目的。
[Sp_GetStudentList] 7 @StudentId INT --主键id 8 AS 9 BEGIN 10 11 SET NOCOUNT ON; 12 PRINT (@SqlSelectResult); 22 23 EXEC sp_executesql @SqlSelectResult; 24 25 SET NOCOUNT
limit算子计算offset和limit返回数量的表达式计算步骤,这个结构在ExecInitLimit中进行初始化;offset和count分别保存表达式计算的结果,也就是offset值和limit值;noCount node->noCount){ node->lstate = LIMIT_EMPTY; return NULL; } for (;;){ node->noCount && node->position - node->offset >= node->count){ node->lstate = LIMIT_WINDOWEND
target="_blank">申请企业版获取 1.3 返回结果 字段名称 字段描述 comCode 快递公司对应的编码 id 请忽略 noCount startTime 请忽略 1.4 返回数据示例 [ { "comCode": "shunfeng", "id": "", "noCount "noPre": "9069", "startTime": "" }, { "comCode": "yuantong", "id": "", "noCount
[tbh_Forums_GetThreadByID] ( @ThreadPostID int ) AS SET NOCOUNT ON SELECT tbh_Posts.PostID, tbh_Posts.AddedDate [tbh_Forums_GetUnapprovedPosts] AS SET NOCOUNT ON SELECT tbh_Posts.PostID, tbh_Posts.AddedDate as AddedDate
procedure FenYe @sqlstr nvarchar(4000), –查询字符串 @currentpage int, –第N页 @pagesize int –每页行数 as set nocount currentpage-1)*@pagesize+1 exec sp_cursorfetch @P1,16,@currentpage,@pagesize exec sp_cursorclose @P1 set nocount
XiaoZhengGe @sqlstr nvarchar(4000), --查询字符串 @currentpage int, --第N页 @pagesize int --每页行数 as set nocount currentpage-1)*@pagesize+1 exec sp_cursorfetch @P1,16,@currentpage,@pagesize exec sp_cursorclose @P1 set nocount
[CreateLogTable] AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering SET NOCOUNT ON; -- Insert statements for procedure here -------------------创建日志表--------------- [DropLogTable] AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SET NOCOUNT ON; -------------------删除日志表------------------------------ declare @rowsIndex int SET NOCOUNT ON; IF (@ProcedureName is not NULL) BEGIN exec ('exec('+@ProcedureName+'''
报错: 解决:在语句开头指定SET NOCOUNT ON 就是这么神cao奇dan。 -END-
存储过程中使用 SET NOCOUNT ON/OFF: eg:在存储过程中使用 SET NOCOUNT ON 和 SET NOCOUNT OFF,以减少向客户端发送 DONE_IN_PROC 消息,提高性能 -- 存储过程开头 SET NOCOUNT ON; -- 存储过程结尾 SET NOCOUNT OFF; 避免大事务操作: eg:在一个银行交易表 Transactions 中,避免在一个事务中处理过多的交易记录
Purchasing.uspVendorAllInfo; GO CREATE PROCEDURE Purchasing.uspVendorAllInfo WITH EXECUTE AS CALLER AS SET NOCOUNT ALTER PROCEDURE Purchasing.uspVendorAllInfo @Product varchar(25) AS SET NOCOUNT ON;