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;
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;
Set Nocount
امیدواریم این مطلب مورد توجه شما قرار گرفته باشد
مجموعه ABLY