تخيل ان عندنا مجموعة ضخمة من الكتب , والكتب دي محطوطة على أرفف المكتبة بشكل عشوائي تمامًا , تقدر تتخيل مدى صعوبة أن كل شوية اما نحتاج ندور على كتاب معين هتكون عاملة ازاي ؟
الموضوع هيكون صعب جدًا مش كده ؟
عشان كده لولا الـ Indexing في الـ Database كان زمانا دلوقتي في كل Web Page محتاجين نعمل عليها أي عملية متطلبة انها تـ Fetch Data من الـ Database مستنيين كتيير ومش بعيد بالساعات على ما العملية تتم بنجاح
ما هو الـ Indexing ؟
خلونا نرجع لمثال المكتبة والكتب المحطوطة بشكل عشوائي , ايه رأيكوا لو عملنا تغير بسيط هنا , وهو أننا هنبدأ نعمل فهرسة للأرفف دي , ونديلها ارقام بناء على اسامي عناوين الكتب , وليكن عناوين الكتب اللي بادئة بحرف A تبدا من الرف رقم كذا لرقم كذا ,, مش الموضوع هيكون اسهل ؟
طب ماذا لو زودنا كمان طريقة للفهرسة وهي إننا نحدد الأرفف من خلال الأرقم + نحط كل Category مع بعض , يعني كتب التاريخ في مكان وكتب علم النفس في مكان , والروايات في مكان تاني ,, وكل واحد من دول هيترقم برضو وفقًا لعنوان الكتاب والحروف الأبجدي ,,
مش كده الموضوع هيبقى ـسهل كتير ؟ لو انطلب مننا ندور على كتاب دلوقتي , كل اللي محتاجين نعرفه هو بيتكلم في مجال إيه + عنوانه عشان نعرف أول حرف من اسمه , وبالتالي هنروح للمكان المطلوب,,
فبدل ما نروح نعدي على كل كتب المكتبة عشان ندور عليه , روحنا لمكان مخصص ومحدد بعينه واحنا واثقين تماما اننا هنلاقي الكتاب ده هناك , لانه محطوط Physically هناك على الرف ده,,
وهي دي ببساطة فكرة الـ Indexing