مقدمة عن ال Execution Plan
مقدمة
في هذا المقال سوف نتناول الخطوات البدائية للتعامل مع ال Execution Plan و يعتبر هذا المقال امتداد للمقالين السابقين على الروابط التالية
وسوف نستعرض كيفية عرض الGraphical Execution Plan و المعلومات البدائية المستخرجة منها
كيفية عرض ال Execution Plan
لعرض ال Estimated Execution Plan يتم ذلك عن طريق كتابة الكويري المطلوبة و الضغط على Display Estimated Execution Planشكل 01 |
شكل 02 |
مثال ل Execution Plan
شكل 03 - مثال ل Execution Plan |
تفسير ال Graphical Execution Plan
فكما نلاحظ من الشكل 03 انها مقسمة الى جزئين جزء يعرض ال Query بالاعلى و جزء يعرض ال Operations التي تتم لتنفيذ ال Query بالاسفل.و لقراءة ال Plan تحتاج الى قراءتها من اتجاه اليمين الى اليسار و ليس العكس حيث ان التنفيذ الفعلي يحتاج الى البحث في البيانات و سحبها ثم عرضها فهذا الاستعلام البسيط يحتاج لتنفيذه الى عمليتان هما Table Scan و Select فعملية ال Table Scan تعني انه يدخل الى كل صف مخزن داخل الجدول الذي لا يوجد به Clustered Index
و نلاحظ ايضا وجود سهم متجه من ال Table Scan الى ال Select و هو يوضح اتجاه تدفق البيانات بين العمليات كما ان سُمك هذا السهم يدل على حجم البيانات التي يتم العمل عليها بين العمليات المختلفة فكلما زادت عدد البيانات زاد سُمك السهم.
و نلاحظ تحت كل عملية يوجد رقم نسبي يوضح تكلفة تنفيذ هذه العملية بالنسبة لباقي العمليات كما انه في الجزء الاعلى يوجد رقم نسبي لتكلفة Query بالنسبة لباقي الQueries التي يتم تنفيذها في ال Batch و طبعا هذا بفرض انه كان هناك اكثر من Query و تم عرض ال Execution Plan لهم في وقت واحد.
ال Tool-Tip
شكل 04 - Tool-tip |
فعلى سبيل المثال المعلومات التي تظهر مع ال Select عبارة عن حجم الPlan عند تخزينها في ال Plan Cache و تكلفة العملية Estimate Operator Cost و اجمال تكلفة العملية و العمليات السابقة لها Estimate SubTree Cost و عدد الصفوف المتأثرة .....الخ
و في المقالات القادمة سوف نستعرض هذه المعلومات و نقوم ببعض التحليل لها
Operator Properties
يوجد لكل عملية داخل ال Plan بعض الخصائص Properties و تظهر بالضغط كليك يمين على العملية و اختيار Properties و هذه الخصائص تظهر معلومات تفصيلية عن العمليات.شكل 05 - Properties |
و بذلك نكون قد استطعنا عرض اول Execution Plan و معرفة بعض عناصرها و خصائصها وفي المقالات التالية سوف ندخل بشكل اعمق في هذه التفاصيل المختلفة و تأثيرها على اداء ال SQL Server
--------------
تم بحمد الله :)
ليست هناك تعليقات:
إرسال تعليق