آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

مثال اول از طرح query

دوره های مرتبط با این مقاله

مثال اول از طرح query

در این بخش با استفاده از دیتابیس AdventureWorksDW وارد یک query ساده می شویم.

توشیحات

یک query ساده را اجرا کرده و طرح Actual Graphical Execution را مورد بررسی قرار خواهیم داد.

اجازه بدهید تولیدات جدول را براساس ProductSubcategoryKey فیلتر کرده و ثبت ها را در جایی که ProductSubcategoryKey برابر 1 است، لیست کنیم.

بنابراین query ما اینطور خواهد بود:

SELECT ProductKey, ProductSubcategoryKey
FROM AdventureWorksDW..DimProduct
WHERE ProductSubcategoryKey = 1‎

یک پنجره ی جدید باز کرده و CTRL+M را فشار دهید تا Actual Execution Plan را وارد کرده و سپس query بالا را اجرا کنید. طرح Actual Query برای این query در زیر نمایش داده شده است.

آموزش SQL Server

در تصویر بالا مشاهده می کنید که SQL Server به این روش query را پردازش می کند:

  • ایندکس Seek روی یک ایندکس NonClustered در جدول DimProduct ( هزینه 100 درصد.)
  • بازگشت به مجموعه ی نتیجه را انتخاب کنید. (هزینه 0 درصد.)
  • برای تجزیه ی طرح query باید به دنبال آیتم های زیر باشیم تا پیشرفت های ممکن را سرعت بخشیم.
  • منابع فشرده ی عملکردها که در ان درصد بالاست.
  • اسکن عملکردها.
  • عرض پیکان بین اپراتورها ( هرچه پیکان ضخیم تر داده بیشتر)
  • در این مثال 100 درصد منابع توسط عملکرد NonClustered Index Seek روی جدول DimProduct استفاده می شوند.
  • ما در query خود در حال فیلتر کردن روی ProductSubcategoryKey در عبارت WHERE هستیم. اما چون ایندکسی که استفاده می کنیم، حاوی Product Key ( کلید تولید) و Product Subcategory Key (کلید زیرشاخه ی تولید) می باشد، یک ایندکس ساده ی عملکرد seek نیز می تواند درخواست را کامل کند.
  • اجازه بدهید جزئیات عملکرد Index Seek را بررسی کنیم.
  • ماوس خود را روی آیکن Index Seek در Execution Plan قرار دهید که یک ToolTip مانند زیر باید ظاهر شود:
آموزش SQL Server

در TollTip می بینید که فقط یک اجرا (Number of Executions تعداد اجراها) لازم بود که 38 (تعداد برآورد شده ی ردیف ها) ردیف درست را گزارش می دهد.

اجازه بدهید پیکان بین عملکردها را چک کنیم.

ماوس خود را روی آیکن SELECT در Execution Plan قرار دهید که یک ToolTip مانند زیر باید ظاهر شود.

آموزش SQL Server

مجددا مشاهده می کنیم که 38 ردیف گزارش می شود.

موردی که باید ذکر شود، Estimated Subtree Cost (برآورد هزینه ی زیردرخت) می باشد. از آنجایی که بیشترین قسمت عملکرد رها می شود، این هزینه ی کلی برای طرح query می باشد. این هزینه به SQL Server نیز کمک می کند تا تعیین کند چه زمان از یک طرح اجرایی همگام استفاده کند.

چگونه می توانیم اجرا را بهبود ببخشیم؟

برای این query نمی توان کاری انجام داد. هزینه ی کلی برآورد شده ی زیرمجموعه (Subtree) خیلی پایین میباشد، همچنین ما در حال انجام یک Index Seek برای گرفتن داده می باشیم، که خیلی بهتر از آن نمی شود.

  • 2923
  •    866
  • تاریخ ارسال :   1394/07/27

دانلود PDF دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .