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

Decoding Extra Column Warnings تفسير تحذيرات عمود Extra

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

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

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

يحمل العمود الأخير Extra في مخرجات EXPLAIN رسائل تشخيصية بالغة الأهمية قد تقلب تقييمك لأداء الاستعلام رأساً على عقب. إليك أهم أربع عبارات يجب على كل مطور التمييز بينها:

  • Using index (ممتاز جداً): تعني أن الاستعلام نُفّذ بالكامل من أوراق الفهرس الثانوي (Covering Index) دون الحاجة لقراءة أي صفحة من الجدول الأساسي!
  • Using index condition (جيد جداً): تفعيل ميزة دفع شرط الفهرس (Index Condition Pushdown - ICP) لتصفية الصفوف داخل محرك InnoDB قبل إرسالها لطبقة الخادم.
  • Using filesort (تحذير أداء): تعني أن الفهرس لم يكن مرتباً حسب جملة ORDER BY، فاضطر MySQL لإجراء خوارزمية فرز إضافية في الذاكرة (Sort Buffer) أو على القرص إذا كان الحجم كبيراً.
  • Using temporary (تحذير أداء): تعني أن MySQL أنشأ جدولاً مؤقتاً داخلياً لتنفيذ GROUP BY أو DISTINCT أو UNION.
SQL
EXPLAIN SELECT order_id, customer_id, total_amount FROM orders WHERE customer_id = 102 ORDER BY total_amount DESC;