شرح صفوف ومحتوى الفقرة
يلخّص الجدول المرجعي التالي دلالة أعمدة وقيم EXPLAIN التشخيصية في MySQL 8.4 وكيفية التصرف الهندسي تجاه كل حالة:
| العمود / المؤشر | القيم الشائعة | المعنى الهندسي في MySQL 8.4 | التقييم والإجراء المقترح |
|---|---|---|---|
عمود type (ممتاز) | const, eq_ref, ref | بحث مباشر عبر مفتاح فريد أو فهرس ثانوي | أداء مثالي؛ لا يحتاج إلى تعديل |
عمود type (متوسط/حرج) | range مقابل ALL | range يمسح نطاقاً مفهرساً؛ ALL يفحص الجدول كاملاً | تخلص من ALL في الجداول الكبيرة بإضافة فهرس مناسب |
عمودا key وkey_len | اسم الفهرس وطول البايتات | يحددان الفهرس المختار وعدد أعمدة البادئة المستغلة | إذا كان key = NULL راجع شروط WHERE أو نفذ ANALYZE TABLE |
عمود Extra (إيجابي) | Using index | الفهرس يغطي كافة أعمدة الاستعلام (Covering Index) | أعلى سرعة قراءة لأن المحرك لم يلمس صفحات الجدول |
عمود Extra (تحذيري) | Using filesort / temporary | فرز إضافي خارج الفهرس أو إنشاء جدول عمل مؤقت | وسّع الفهرس المركب ليشمل أعمدة ORDER BY وGROUP BY |
خلاصة المعرفة ومحطة الانتقال
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
تعلمت في هذا الدرس قراءة خطط تنفيذ الاستعلامات عبر EXPLAIN، وتدرج أنواع الوصول في عمود type، ومقارنة الفهارس المرشحة possible_keys بالفهرس الفعلي key وطول البايتات key_len، وتفسير رسائل Extra، والقياس الزمني الفعلي عبر EXPLAIN ANALYZE.
الخطوة التالية والدرس القادم
في الدرس القادم والأخير من وحدة الفهارس سنتعلم تحسين أداء الاستعلامات وأفضل ممارسات الفهرسة مثل الشروط الصديقة للفهرس (Sargable Queries)، والفهارس الدالية، والفهارس المغطية، والتصفح السريع بالمؤشر (Keyset Pagination).