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

Comparing possible keys vs key الفهارس المرشحة والفهرس المختار

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

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

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

عند قراءة مخرجات EXPLAIN لجدول يملك عدة فهارس، تبرز أهمية المقارنة بين ثلاثة أعمدة متجاورة: possible_keys وkey وkey_len:

  • possible_keys (الفهارس المرشحة): يعرض أسماء جميع الفهارس التي تصلح نظرياً لتنفيذ شرط البحث.
  • key (الفهرس المختار): يعرض اسم الفهرس الفائز الذي اختاره المحسّن فعلياً لأنه صاحب أقل تكلفة تقديرية (Lowest Cost). إذا كان possible_keys ممتلئاً بينما key = NULL، فهذا يعني أن المحسّن وجد أن قراءة الجدول مباشرة أرخص من القفز المتكرر عبر الفهرس (مثلاً عندما يطابق الشرط أكثر من 30% من صفوف الجدول).
  • key_len (طول المفتاح المستغل بالبايت): يكشف لك كم عموداً من أعمدة الفهرس المركب تم استغلاله فعلياً في عملية البحث!
SQL
EXPLAIN SELECT order_id, total_amount FROM orders WHERE customer_id = 102;