جدول المحتويات:
التعريف - ماذا يعني الفهرس (IDX)؟
في أنظمة قواعد البيانات ، يكون الفهرس (IDX) عبارة عن بنية بيانات محددة على أعمدة في جدول قاعدة البيانات لتسريع عمليات استرجاع البيانات بشكل ملحوظ. الفهرس هو نسخة صغيرة من جدول قاعدة البيانات مرتبة حسب القيم الأساسية. بدون فهرس ، قد تضطر لغات الاستعلام مثل SQL إلى مسح الجدول بأكمله من أعلى إلى أسفل لاختيار الصفوف ذات الصلة.
تيكوبيديا توضح الفهرس (IDX)
يجب إنشاء فهرس على جدول قاعدة البيانات بعناية ، حيث تستهلك الفهارس مساحة ويتم تخزينها في قاعدة البيانات. يمكن أن يؤدي الفهرس أيضًا إلى أن تستغرق عمليات الكتابة وقتًا أطول ، حيث يجب تحديث الفهرس عند تحديث الجدول الأساسي.
هياكل البيانات المختلفة المستخدمة لإنشاء فهارس هي الأشجار B + ، الأشجار المتوازنة والتجزئة. باستخدام هياكل البيانات هذه ، من السهل نسبياً إجراء المسح على جدول قاعدة البيانات بالكامل.
يمكن أيضًا إنشاء فهارس على الوظائف أو التعبيرات. يمنع الفهرس الفريد الإدخالات المكررة في الفهرس والجدول ذي الصلة ، وبالتالي يعمل كقيد. ترتيب الأعمدة هو أيضًا جانب مهم من الفهرسة. العمود الأول المفهرسة دائمًا له أولوية. يتم استرداد معرفات الصفوف بناءً على الأعمدة المفهرسة الأولى. في السيناريو العادي ، لا تقوم الفهارس بإرجاع قيمة ولكن تحديد موقع السجلات فقط.
يوجد عمومًا نوعان من بنية الفهرس:
- فهارس متفاوت المسافات: فهارس متفاوت المسافات تخزن بيانات الصف بالترتيب. يمكن إنشاء فهرس متفاوت المسافات واحد فقط على جدول قاعدة بيانات. يعمل هذا بكفاءة فقط إذا تم فرز البيانات بترتيب متزايد أو تنازلي أو تم تحديد حد على الأعمدة الموجودة في الجدول. مثل هذا الترتيب المتسلسل للبيانات على الأقراص يقلل من كتلة القراءة.
- الفهارس غير العنقودية: في الفهارس غير العنقودية ، يتم ترتيب البيانات بطريقة عشوائية ، ولكن يتم تحديد الترتيب المنطقي داخليًا بواسطة الفهرس. وبالتالي ، فإن ترتيب الفهرس ليس هو نفسه الترتيب الفعلي للبيانات. عبارة "إنشاء فهرس" تنشئ فهرسًا غير متفاوت المسافات افتراضيًا ، مما يؤدي أيضًا إلى إنشاء فهرس متفاوت المسافات على المفتاح الأساسي. يتم فرز مفاتيح الفهرس هنا مع ورقة تحتوي على مؤشر إلى الصفحة. تعمل الفهارس غير المجمعة بشكل جيد مع الجداول حيث يتم تعديل البيانات بشكل متكرر ويتم إنشاء الفهرس على الأعمدة المستخدمة بالترتيب بواسطة عبارات WHERE و JOIN.
