توضیح بیشتر index کردن یک فیلد در جدول پایگاه داده

پرسیده شده
فعالیت 1445 روز پیش
دیده شده 875 بار
17

یکی از مواردی که در این جلسه مطرح شد بحث index کردن یک ستون از دیتابیس بود. ولی index کردن یعنی چی و چرا بهش نیاز داریم؟

 

فرض کنید شما در دیتابیس تون جدولی دارید که اطلاعات 1000 دانشجو توش ذخیره شده. حالا در قسمتی از برنامه شما لازم دارید اطلاعات دانشجوهایی که اسمشون Ali هست رو از دیتابیس بگیرید. در حالت معمول سیستم مدیریت دیتابیس (DBMS) باید از رکورد اول جدول شروع کنه و سطر به سطر بگرده تا دانشجوهایی که اسمشون Ali هست رو پیدا کنه چ.ن هیچ اطلاعاتی از محتویات ستون اسم در این جدول نداره. حتی اگر موردی با این مشخصات پیدا کنه باز هم مجبوره تا انتهای جدول رو بگرده تا تمام Ali هارو پیدا کنه. حتما قبول دارید این پروسه میتونه خیلی زمانبر بشه و باید راه حل بهتری داشته باشه.

 

اینجاس که index کردن ستون اسم ها توی جدول بدرد میخوره. وقتی ستون اسم ها رو توی این جدول index می کنیم درواقع یک جدول یا رفرنس از اسامی رو برای DBMS ایجاد می کنیم و اینجاست که DBMS از محتویات این ستون اطلاع پیدا می کنه. حالا اگر لازم باشه تمام اسامی علی رو برامون برگردونه میدونه دقیقا کدوم خونه جدول و حتی کجای حافظه رو باید بگرده.

 

index کردن یک ستون باعث میشه که فرآیند نوشتن در جدول طولانی تر بشه. چون با هر ثبت یا اصلاح اطلاعات در جدول، باید رفرنس این ستون هم آپدیت بشه. ولی در عین حال زمان فراخونی اطلاعات از جدول خیلی کوتاه تر میشه.

 

بنابرین توصیه شده که سعی کنید index رو در جداولی استفاده کنید که فراخونی اطلاعات زیاد ازشون اتفاق میوفته و برعکس در جداولی که نوشتن اطلاعات بیشتر از فراخونی هست از index کمتر استفاده بشه.

 

امیدوارم براتون مفید باشه.

فایل پیوست