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

Query Optimization Checklist Table قائمة مراجعة تحسين الاستعلامات

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

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

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

يلخّص الجدول المرجعي التالي قائمة المراجعة الهندسية لتحسين استعلامات وفهارس MySQL 8.4 وتحويل الأنماط البطيئة إلى أنماط عالية الأداء:

مشكلة الأداء الشائعةالنمط البطيء (Anti-Pattern)النمط المحسّن في MySQL 8.4الأثر على خطة EXPLAIN
دالة حول عمود مفهرسWHERE YEAR(created_at) = 2026نطاق Sargable أو فهرس دالي ((YEAR(created_at)))يتحول من type = ALL إلى range أو ref
جلب كافة الأعمدة بلا حاجةSELECT * FROM orders WHERE ...تحديد الأعمدة المطلوبة فقط + فهرس مغطٍّتظهر Extra: Using index وتختفي قراءات الجدول
النجمة البادئة في النصوصWHERE title LIKE '%mysql%'بادئة يمنى LIKE 'mysql%' أو فهرس FULLTEXTيستبدل الفحص الكامل بالبحث الشجري أو المعكوس
التحويل الضمني للأنواعWHERE varchar_phone = 501234567تمرير نص مطابق للنوع WHERE varchar_phone = '0501234567'يمنع تعطيل الفهرس ويحافظ على type = ref
التصفح العميق بـ OFFSETLIMIT 20 OFFSET 100000التصفح بالمؤشر WHERE id < last_id LIMIT 20يفحص 20 صفاً فقط بدلاً من 100,020 صف
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

مراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي

ماذا تعلّمت في هذا الدرس؟

أتقنت في هذا الدرس كتابة الشروط الصديقة للفهرس (Sargable Predicates)، وإنشاء الفهارس الدالية على التعبيرات في MySQL 8، وتصميم الفهارس المغطية للاستعلام (Covering Indexes)، وتجنب فخ النجمة البادئة والتحويل الضمني للأنواع، وتطبيق التصفح السريع بالمؤشر (Keyset Pagination).

الخطوة التالية والدرس القادم

في الوحدة القادمة ننتقل إلى الكائنات المخزنة (Stored Objects) لنبدأ ببناء الإجراءات المخزنة وتمرير المعاملات والتحكم في مسار التنفيذ داخل خادم MySQL.