شرح صفوف ومحتوى الفقرة
يلخّص الجدول المرجعي التالي مقارنة أنواع الفهارس في MySQL 8.4، وصيغة إنشائها، وحالات الاستخدام المثلى لكل نوع:
| نوع الفهرس | الصيغة القياسية | البنية الداخلية | حالة الاستخدام المثلى |
|---|---|---|---|
| الفهرس المركب (Composite) | CREATE INDEX idx ON tbl (c1, c2, c3) | شجرة B+Tree متعددة الأعمدة | الاستعلامات التي تفلتر وترتب على عدة أعمدة وفق البادئة اليسرى |
الفهرس الفريد (UNIQUE) | CREATE UNIQUE INDEX uq ON tbl (email) | شجرة B+Tree تمنع التكرار | ضمان تفرد البريد الإلكتروني أو المعرّفات التجارية مع بحث سريع |
| الفهرس البادئ للنصوص (Prefix) | CREATE INDEX idx ON tbl (url(64)) | أول N حرف في B+Tree | فهرسة بداية الأعمدة النصية الطويلة VARCHAR/TEXT لتوفير الذاكرة |
الفهرس غير المرئي (INVISIBLE) | ALTER INDEX idx INVISIBLE | مخفي عن المحسّن ومحدّث بالخلفية | اختبار أمان حذف الفهرس في الإنتاج دون مخاطرة إعادة البناء |
فهرس النص الكامل (FULLTEXT) | CREATE FULLTEXT INDEX ft ON tbl (t, b) | فهرس كلمات معكوس (Inverted Index) | البحث بالكلمات المفتاحية عبر MATCH() AGAINST() |
خلاصة المعرفة ومحطة الانتقال
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
أتقنت في هذا الدرس إنشاء الفهارس المركبة متعددة الأعمدة، وتطبيق قاعدة البادئة اليسرى (Leftmost Prefix Rule)، وترتيب أعمدة الفهرس حسب درجة التميز (Selectivity)، واختبار الفهارس بأمان عبر INVISIBLE، والبحث النصي المتقدم عبر FULLTEXT وMATCH ... AGAINST.
الخطوة التالية والدرس القادم
في الدرس القادم سنتعلم كيفية قراءة وتحليل خطط تنفيذ الاستعلامات للتحقق عملياً من الفهرس الذي اختاره محرك MySQL وكشف الاختناقات الخفية.