الفهرس Index بنية إضافية تساعد قاعدة البيانات على الوصول إلى الصفوف المطلوبة بكفاءة. يمكن تشبيهه بفهرس الكتاب الذي يقودك إلى موضوع معين دون قراءة جميع الصفحات. عند البحث المتكرر عن كتاب باستخدام رقمه الدولي، قد يساعد فهرس على عمود isbn في تقليل عدد الصفوف التي يحتاج المحرك إلى فحصها.
لا يغير الفهرس العادي المعنى المنطقي للاستعلام، ولا يمنع القيم المتكررة تلقائيًا. إذا كان المطلوب منع التكرار، نحتاج إلى قيد أو فهرس UNIQUE. كذلك لا يضمن وجود الفهرس أن يستخدمه المحسن في كل مرة، فقد يجد أن قراءة الجدول مباشرة أقل تكلفة، خصوصًا عندما يكون الجدول صغيرًا أو يعيد الاستعلام معظم صفوفه.
مثال
CREATE TABLE books (
id INT PRIMARY KEY,
isbn VARCHAR(20)
);
CREATE INDEX idx_books_isbn ON books (isbn);
ينشئ المثال فهرسًا مستقلًا عن المفتاح الأساسي. اختيار الأعمدة المفهرسة يعتمد على الاستعلامات المتكررة، مع مراعاة مساحة التخزين وتكلفة صيانة الفهارس عند تعديل البيانات.
باختصار: يساعد الفهرس على تسريع الوصول إلى البيانات، لكنه لا يضمن تسريع كل استعلام أو منع التكرار.
هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.