دسته (Batch) در T-SQL

دسته (Batch) در T-SQL

نوشته شده توسط: مجتبی شهریور
تاریخ انتشار: ۲۶ مرداد ۱۳۹۴
آخرین بروزرسانی: 29 بهمن 1403
زمان مطالعه: 5 دقیقه
۵
(۱)

دسته Batch در SQL Server مجموعه ی از یک یا چند دستور پایگاه داده T-SQL که همواره همراه با هم به سرور ارسال می شوند که هر دسته از دستورات با هم ترجمه و بدنبال هم اجرا میشوند. چنانچه یک دسته ،شامل چندین دستور باشد. تمام مراحل بهینه سازی لازم روی مجموعه ی این دستورات انجام می شود و پلن اجرائی (Execution plan) بر مبنای مجموعه دستورات موجود در دسته، تعیین می گردد.

چند نمونه از دسته Batch در SQL Server

۱-  همه دستورات موجود در یک تریگر یک دسته محسوب می شود.
۲-رشته ای که توسط یک فرمان EXECUTE اجرا می شود، یک دسته محسوب می شود. 


مشاهده کامل‌ترین و بروزترین آموزش sql server در نیک آموز


قواعد کار با دسته Batch در SQL Server

دستور CREATE در هرجائی بجزء در اولین دستور یک دسته قرار می گیرد، همه دستوراتی که در یک دسته، پس از این دستور قرار می گیرند بعنوان بخشی از همان دستور در نظر گرفته میشوند. اگر در یک دسته ، ساختار یک جدول تغییر داده شود ، نمیتوان در همان دسته از ستونهای جدید استفاده کرد. اگر دستور EXECUTE اولین دستور یک دسته باشد می توان از نوشتن کلمه کلیدی EXECUTE خود داری کرد. شما می‌توانید کوئری نویسی را به صورت گام‌به‌گام از نیک آموز فرا بگیرید.

چگونگی اجرای دسته ها

در هر مرحله ارسال دسته ای از دستورات به سرور ،سروردر پنج مرحله  آنها را مورد بررسی و پردازش قرار می دهد که این مراحل به شرح زیر می باشد :
۱-تفکیک نگارشی: دستورات دریافتیاز نظر املا مورد بررسی قرار می گیرند.
۲- تفکیک ارجاعی: اشیاء مورد ارجاء بررسی می شوند تا از وجود آنها  و وجود مجوز دسترسی به آنها برای کاربر اطمینان حاصل شود.
۳- بهینه سازی : طرح اجرای مناسب برای رسیدن به سریعترین مسیر اجرای دستورات را پیدا می کند.
۴- ترجمه :طرح اجرایی ترجمه می شود.
۵- اجرا: طرح ترجمه شده توسط سرور اجرا می شود.

دسته های حاوی چند دستور SQL

هر دسته می تواند  حاوی چند دستور SQL باشد که این دستورات  به عنوان یک گروه واحد، ترجمه و اجرا خواهند شد. افراد علاقه‌مند می‌توانند با مطالعه مقاله پرکاربردترین دستورات SQL Server، دانش خود را در زمینه کوئری‌نویسی گسترش دهند.
مثال:

USE PUBS
Select title
from titles
where titel like
select au_id, au_lname
From authors
Where au_lname = 'Green'

هر دو دستور SQL موجود در این دسته با هم تفکیک، ترجمه و اجرا می شوند. هر کدام از این دستورات ، مجموعه نتایج خاص خود را دارند اما سرور ،پس از اجرای هردو دستور select این دو مجموعه  را با هم باز می گرداند. می توانیم مانند مثال زیر بین این دو دستور  SELECT از یک دستور GO استفاده کنیم تا هر کدام از این دستورات یک دسته مجزا محسوب شوند:

USE PUBS
Select title
from titles
where titel like
GO
select au_id, au_lname
From authors
Where au_lname = 'Green'

این بار ابتدا SELECT اول اجرا می شود و مجموع نتایج آن برگردانده و نمایش داده می شود سپس دستور دوم به سرور ارسال و اجرا می شود ولی باید توجه داشت در دو حالت نتیجه یکسان می باشد.

سخن پایانی

دسته Batch در SQL Server، به مجموعه‌ای از دستورات T-SQL گفته می‌شود که به صورت یکجا اجرا می‌شوند. هر دسته می‌تواند شامل یک یا چند دستور T-SQL باشد که با استفاده از کلمه کلیدی GO از هم جدا می‌شوند. این دستورات به ترتیب اجرا می‌شوند و نتایج آن‌ها به صورت یکجا به کاربر بازگردانده می‌شود. ضمن کاهش عملیات I/O امکان بهینه سازی یهتر نیز بوجود می آید. ما در نیک آموز منتظر نظرات ارزشمند شما درباره این مقاله هستیم.

چه رتبه ای می‌دهید؟

میانگین ۵ / ۵. از مجموع ۱

اولین نفر باش

جشواره عیدانه نیک آموز
title sign
معرفی نویسنده
مجتبی شهریور
مقالات
1 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
مجتبی شهریور
title sign
معرفی محصول
title sign
دیدگاه کاربران

    • از تمام دوستانی که از مقاله من دیدن کردن  بخصوص عزیزانی که نظر دادن متشکرم

    • آقا یا خانم صبا
      در ضمن شما می تونید ازیسته بسته آموزشی شروع sql server در لینک زیر دیدن و استفاده بفرمایید

      https://nikamooz.com/product/beginning-with-sql-server

    •  سلام
      از اینکه مقاله من را خوندین متشکرم
      برای شروع جای بهتر از همین سایت نیست بهترین ویژگی نیک آموز انگیزه ی هست که در آدم ایجاد میکنه.
      در ضمن شما می تونید مثل بنده ازه hello sql  خشت اول استفاده بفرمایید
      موفق باشید

    • مقالتون را خوندم  خوب بود تا حدودی فهمیدم من تازه با این سایت آشنا شدم و می خوام sql  یاد بگیرم از کجا شروع کنم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

    •  سلام
      من از کتاب sql server انتشارات sams بیشتر استفاده کردم

    • سلام
      مقاله خوبی بود در صورت امکان منبع استفاده شده را معرفی بفرمایید..

    • متشکرم
      همانطور که در مقاله توضیح داده شده هر سری از دستورات بین یک GOیک دسته مجزا محسوب می شوند و به صورت مجزا پردازش می شوند.که خود این باعث انجام عمل I/O بیشتر و سرعت کمتر در پردازش می شود.

    •  سلام
      مقاله خوبی داشتین…..ممنون میشم اگه بفرمایید تاثیر GOدر سرعت پردازش چگونه هست؟

    •  سلام
      حقیقتا منبعی که بنده در این زمینه مطالعه کردم به این نحور این ۵ مرحله را بیان کرده بود ولی با توجه بیشتر شاید بتوان گفت دو مرحله اول روی بررسی تمر کز دارند..

    • با تشکر از مقاله شما
      بهتر نبود در قسمت چگونگی اجرای دسته قسمتهای بررسی و پردازش از هم مجزا بیان میشد
      ؟؟؟؟؟؟؟؟؟؟

  • 1
  • 2
close-image

دانلود رایگان: آموزش SQL Server

هر روز یک ویدئو آموزشی رایگان برای شما ایمیل خواهد شد!

پاپ آپ | SQL Server

  • این قسمت برای اهداف اعتبارسنجی است و باید بدون تغییر باقی بماند.