SQL Server - SET NOCOUNT

SQL Server - SET NOCOUNT

بسم الله الرحمن الرحیم

ترفند Set Nocount در SQL Server

مطمئنا هنگام کار با SQL Server دیده اید که پس از اجرای دستوارت، پیغامی به نمایش درمی آید که تعداد خطوط تاثیر گرفته از دستورات موجود را به شما نشان می دهد که بسته به نوع دستور و نوع حلقه (Loop) می تواند کم یا زیاد باشد. در ادامه به یکی از قابلیت های SQL Server می پردازیم.

ترفند Set Nocount در SQL Server

 

مطمئنا هنگام کار با SQL Server دیده اید که پس از اجرای دستوارت، پیغامی به نمایش درمی آید که تعداد خطوط تاثیر گرفته از دستورات موجود را به شما نشان می دهد که بسته به نوع دستور و نوع حلقه (Loop) می تواند کم یا زیاد باشد. در صورتی که شما نیاز به دانستن این اطلاعات داشته باشید، آنها مفید تلقی می شوند اما اگر دانستن این اطلاعات تاثیری بر کار شما نداشته باشد صرفا موجب ایجاد ترافیک در شبکه و کند شدن عملکرد برنامه می شوند. در ادامه نحوه غیر فعال کردن این پیغام ها را بررسی می کنیم.

ترفند اسکیوال سرور

همانطور که پیش تر گفته شد بخاطر تعدد پیغام های نمایش داده ترافیک سنگینی در شبکه ایجاد می شود حال اینکه اگر نیازی به دانستن تعداد ردیف های تاثیر پذیرفته از دستور نباشد، به راحتی می توان با استفاده از SET NOCOUNT جلوی نمایش پیغام ها را گرفت.

به مثال های زیر توجه کنید:

Set NoCount On






SET NOCOUNT ON
-- Demo Code
CREATE TABLE #Temp1 (ID BIGINT)
DECLARE @Var BIGINT
SET @Var = 1000
WHILE(@Var > 0)
BEGIN
INSERT INTO #Temp1 (ID)
VALUES (@Var)
SET @Var = @Var -1
END
DROP TABLE #Temp1;



 

 

SQL Server

Set Nocount

وقتی Set nocount را غیر فعال کنیم:

Set NoCount Off

 




SET NOCOUNT off
-- Demo Code
CREATE TABLE #Temp1 (ID BIGINT)
DECLARE @Var BIGINT
SET @Var = 1000
WHILE(@Var > 0)
BEGIN
INSERT INTO #Temp1 (ID)
VALUES (@Var)
SET @Var = @Var -1
END
DROP TABLE #Temp1;



 

SQL Server

Set Nocount

امیدواریم این مطلب مورد توجه شما قرار گرفته باشد

مجموعه ABLY

نظرات یا سوالات خودرا با ما درمیان بگذارید

0912 097 5516 :شماره تماس
0713 625 1757 :شماره تماس