آموزش پیشرفته SQL Server (جلسه سوم) - آشنایی با Execution Plan

آشنایی با Execution Plan، قسمتی از آموزش پیشرفته SQL Server است، پیشنهاد می شود قبل از مطالعه ی آشنایی با Execution Plan، قسمت های قبلی را مطالعه فرمایید.


Execution Plan چیست؟

Execution Plan به شما کمک می کند تا دریابید:

  1. چرا یک Query کند است و زمان اجرای زیادی را مصرف می کند؟
  2. آیا SQL SERVER از ایندکس- Index من استفاده می کند یا خیر؟
  3. چرا SQL SERVER از ایندکس- Index من استفاده نمی کند؟
  4. آیا این پرس و جو - Query از دیگری سریعتر اجرا می شود؟
  5. آیا نیاز است که من ایندکس دیگری تعریف کنم و اگر نیاز است روی چه فیلدهایی و چه نوع ایندکسی؟
  6. و...

نحوه نمایش  Execution Plan:

برای نمایش Execution Plan باید شما دسترسی لازم برای اجرای Query را روی پایگاه داده داشته باشید، در صورتیکه شما یکی از نقشهای sysadmin, dbcreator یا db_owner را داشته باشید به دسترسی دیگری نیاز ندارید.

برای نمایش Execution Plan می توانید از کلید میانبر ctrl+L با انتخاب Query مورد نظر استفاده نمایید.


انواع Plan:

  1. estimated plan: ارزیابی اجرای پرس و جو قبل از اجرا و برآورد وضعیت اجرا را که توسط Optimizer بدست می آید نشان می دهد و به یکی از روشهای زیر قابل دسترسی می باشد:
    • با کلیک روی آیکن Display Estimated Execution Plan روی نوار ابزار.
    •  با راست کلیلک روی پنجره query و انتخاب same option.
    •  با کلیک روی Query option روی نوار menu bar و انتخاب same choice.
    •  کلیدهای CTRL+L.
  2. actual plan: پلان واقعی اجرای query را نشان می دهد و به یکی از روشهای زیر قابل دسترسی می باشد:
    • کلیک روی آیکن Include Actual Execution Plan در نوار ابزار.
    • کلیک راست روی پنجرهquery و انتخاب Include Actual Execution Plan از منو.

    • انتخاب same option در منوی Query.
    • کلیدهای CTRL+M.

برای مثال query زیر را در نظر بگیرید:

آشنایی با Execution Plan

SELECT *
FROM dbo.DatabaseLog;

 

برای نمایش Execution Plan باید با دستور زیر امکان نمایش آنها فراهم شود:

آشنایی با Execution Plan

-- For Getting the estimated text plan
SET SHOWPLAN_ALL ON;
------------------------------------------
-- For Getting the actual text plan
SET STATISTICS PROFILE ON;

اطلاعات کسب شده از Execution Plan:

با کمک ToolTip های موجود در Execution Plan می توانیم به مطالب زیادی دسترسی پیدا کنیم. هر شکل موجود در این پلان گویای یک حقیقت است و ما برای تحلیل بهتر یک query و استفاده مناسب از Execution Plan در راستای بهینه کردن query باید به تمامی این اطلاعات و اشکال اشراف کامل داشته باشیم.

در ادامه به تعدادی از این موارد اشاره می کنیم و برای آشنایی کامل با Execution Plan پیشنهاد می کنیم جلسه سوم مجموعه افزایش کارآیی و سرعت بانک اطلاعاتی را خریداری نمایید:

  • Cached plan size: مقداری از حافظه که توسط این پلان در حین کش پلان مورد استفاده قرار می گیرد.
  • Degree of Parallelism: تعداد پردازنده ای که توسط این پلان مورد استفاده قرار می گیرد.
  • Estimated Operator Cost: هزینه اجرای پرس و جو را ارزیابی می نماید.
  • Estimated Subtree Cost: هزینه اجرای این قسمت از query را نسبت به کل آن بیان می کند و از راست به چپ این مراحل دنبال می شوند.
  • Estimated Number of Rows: ارزیابی تعداد ردیف انتخاب شده توسط query را نشان می دهد و توسط Optimizer محاسبه می شود.
  • Actual Number of Rows: تعداد واقعی ردیف انتخاب شده توسط query را نشان می دهد.

شکل زیر یک نمونه از این ToolTip ها را نشان می دهد:

آشنایی با Execution Plan


ترتیب اجرای مراحل در Execution Plan

ترتیب اجرای مراحل از بالا به پایین و از راست به چپ می باشد؛ شکل زیر این ترتیب را بهتر نشان می دهد:

آشنایی با Execution Plan


در ادامه بحث آشنایی با Execution Plan خواهید دید...!

1-آشنایی کامل با Execution Plan.

2- آموزش جامع نحوه استفاده از Execution Plan همراه با مثال کاربردی.

3- آموزش تحلیل Execution Plan و نحوه استفاده از آنها در بالا بردن کارایی.


دسترسی به موارد آموزشی بالا در بسته خریداری شده

  • شماره جلسه: 3
  • نام فایل ویدئو: 03
  • فرمت فایل: mp4.

نقطه شروع بحث بالا (آشنایی با Execution Plan) در ویدئو:  30:50


برای خرید و دانلود کاملآموزش پیشرفته SQL Server کلیک کنید.

READ MORE