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

Covering Indexes Using Index Only الفهارس المغطية للاستعلام بالكامل

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

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

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

تعلّمنا سابقاً أن الفهرس الثانوي يخزن قيمة العمود المفهرس ومعه المفتاح الأساسي PRIMARY KEY، فإذا طلب الاستعلام أعمدة أخرى اضطر المحرك للعودة إلى الفهرس العنقودي (Bookmark Lookup) لكل صف. ولكن ماذا لو أضفنا الأعمدة المطلوبة في جملة SELECT إلى نهاية الفهرس المركب نفسه؟

عندئذٍ نحصل على الفهرس المغطي (Covering Index): حيث يجد محرك InnoDB جميع الأعمدة التي يحتاجها الاستعلام داخل العقدة الورقية للفهرس الثانوي مباشرةً، فيستغني تماماً عن قراءة الجدول الأساسي، ويعلن عن ذلك في مخرجات EXPLAIN بالعبارة الذهبية Extra: Using index.

SQL
EXPLAIN SELECT order_id, status, total_amount FROM orders WHERE customer_id = 102 AND status = 'PAID';