كيف يعمل الفهرس؟#
تخيّل كتابًا من ألف صفحة وأنت تبحث عن كلمة. إما أن تقلّب كل الصفحات، أو تنظر إلى الفهرس في آخر الكتاب. الفهرس هو «فهرس نهاية الكتاب» لقاعدة البيانات: يحتفظ بقيم عمود ما مرتبة ويشير إلى مواضع السجلات.
مثال#
لديك جدول بمليوني مستخدم وتبحث عن مستخدم ببريد إلكتروني محدد. بدون فهرس تفحص قاعدة البيانات كل الصفوف واحدًا واحدًا. ومع فهرس على عمود البريد تصل إلى الصف في خطوات قليلة؛ وقد يتحول الفارق من بضع ثوانٍ إلى أجزاء من الثانية.
ثمن الفهرس#
الفهرس ليس مجانيًا:
- يستهلك مساحة أكبر من القرص.
- كلما أُضيف صف أو عُدّل وجب تحديث الفهرس أيضًا فتبطؤ الكتابة.
أين نضع الفهرس؟#
- الأعمدة التي تُستخدم كثيرًا في شرط WHERE
- أعمدة الربط (المفتاح الأجنبي)
- الأعمدة المستخدمة في الفرز
خطأ شائع#
وضع فهرس على كل الأعمدة. الأفضل أن تقرر بناءً على الاستعلامات الحقيقية البطيئة لا بالتخمين. وتُظهر لك أداة EXPLAIN ما إذا كان استعلامك يستخدم الفهرس أم لا.