يُسرّع الفهرس عملية استرجاع البيانات. فبدونه، تفحص قاعدة البيانات كل صف للعثور على السجلات المطابقة. أما بوجوده، فتنتقل مباشرةً إلى الصفوف ذات الصلة. الفهرس عبارة عن بنية بيانات منفصلة تربط القيم بمواقعها. يعمل فهرس الكتب بنفس الطريقة؛ إذ تبحث عن مصطلح وتجد رقم الصفحة، دون الحاجة إلى قراءة كل صفحة للعثور عليه. كذلك تفعل قاعدة البيانات.
للفهارس تكلفة. فهي تشغل مساحة، وتبطئ عمليات الإضافة والتحديث والحذف لأن الفهرس نفسه يحتاج إلى التحديث. كل عملية كتابة تصبح أكثر تكلفة. لكن فائدتها تكمن في سرعة القراءة. بالنسبة لأحمال العمل التي تتطلب قراءة مكثفة، تُعد الفهارس ضرورية. أما بالنسبة لأحمال العمل التي تتطلب كتابة مكثفة، فإن كثرة الفهارس تؤثر سلبًا على الأداء. يتطلب اختيار الأعمدة المراد فهرستها فهم أنماط الاستعلام. تُعد الأعمدة المستخدمة في عبارات WHERE وشروط JOIN وعبارات ORDER BY خيارات جيدة. أما الأعمدة ذات العدد القليل من القيم، مثل علامة منطقية، فهي خيارات غير مناسبة لأن الفهرس لا يُضيّق نطاق البحث بشكل كبير. تغطي الفهارس المركبة أعمدة متعددة ويمكنها خدمة الاستعلامات التي تُصفّي عدة حقول. ترتيب الأعمدة في الفهرس المركب مهم. يمكن لقاعدة البيانات استخدام فهرس مركب للاستعلامات على العمود الرئيسي فقط، وليس على الأعمدة اللاحقة. تصميم الفهرس هو عملية موازنة. الهدف هو تسريع الاستعلامات المهمة دون إبطاء عمليات الكتابة أكثر من اللازم.
أنواع الفهرسة
- شجرة B - الوضع الافتراضي لمعظم قواعد البيانات، وهي مناسبة للاستعلامات النطاقية
- التجزئة - عمليات بحث سريعة عن التساوي، لا تدعم النطاقات
- خريطة نقطية - أعمدة ذات عدد قليل من القيم الفريدة، استعلامات تحليلية
- البحث في النص الكامل
- مُركّب - أعمدة متعددة في فهرس واحد
الفهرس هو اختصار. فهو يضحي بسرعة الكتابة ومساحة التخزين مقابل سرعة القراءة. استخدمه حيث تكون سرعة القراءة هي الأهم.
Comments (3)
Leave a comment