انتقل إلى محتوى الدرس

Inspecting Plans with EXPLAIN قراءة خطة التنفيذ بـ EXPLAIN

تعلّم تحليل خطط تنفيذ الاستعلامات باستخدام EXPLAIN في MySQL بأسلوب MySQL 8 الحديث مع أمثلة استعلامات SQL وتطبيقات تفاعلية.
1 صفوف تعليمية
MySQL
7 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

كيف تتأكد برمجياً من أن استعلام SELECT يستخدم الفهرس الذي أنشأته ولا يجري فحصاً كاملاً خفياً؟ يوفر MySQL 8.4 أداة التشخيص الهندسية الأهم EXPLAIN: فعند كتابة الكلمة EXPLAIN قبل أي استعلام، يعرض لك محسّن الاستعلامات القائم على التكلفة (Cost-Based Optimizer) خطة التنفيذ المتوقعة دون إرجاع صفوف البيانات الفعلية.

تتكون مخرجات EXPLAIN الجدولية من 12 عموداً تشخيصياً، أهمها للتحليل السريع:

  • type: طريقة وصول المحرك لصفوف الجدول (من الأسرع const إلى الأبطأ ALL).
  • possible_keys وkey: الفهارس المرشحة مقابل الفهرس الفعلي الذي وقع عليه اختيار المحسّن.
  • rows وfiltered: العدد التقديري للصفوف التي سيفحصها المحرك ونسبة الصفوف المتوقع بقاؤها بعد تطبيق الشروط.
  • Extra: تفاصيل داخلية حاسمة مثل القراءة من الفهرس فقط Using index أو التحذير من الفرز المكلف Using filesort.
مخطط تحليل خطط تنفيذ الاستعلامات باستخدام EXPLAIN في MySQL
SQL
EXPLAIN SELECT order_id, customer_id, total_amount FROM orders WHERE customer_id = 102;