تفاوت ایندکس های Invisible با Unusable
برخی از دوستان مفاهیم Unusable و Invisible را به شکل یکسان استفاده می کنند. اما تفاوت هایی وجود دارد که به طور کلی و خلاصه عرض می کنم:
ایندکس Unusable
- توسط Optimizer نادیده گرفته می شود و دستورات DML نیز آن را به روز نمی کنند و آمار هم برای آن ایندکس جمع آوری نمی شود.
- اگر قبل از انجام عملیات Bulk Load ایندکس های مربوطه را unusable کنیم، عملیات با سرعت بیشتری انجام می شود. دلیل این کار این است که به دلیل اینکه ایندکس ها به روزرسانی نمی شوند و عملیات با سرعت بیشتری انجام می شود.
- بعد از پایان کار Bulk Load می توانید با rebuild کردن ایندکس، آن را مجدداً با همان مشخصات داشته باشید.
- وقتی ایندکسی به صورت unusable ساخته می شود هیچ سگمنتی برای آن ایندکس اختصاص داده نمی شود.
- اگر ایندکس موجود را unusable کنید، سگمنت آن حذف می شود.
ایندکس Invisible
- دستورات DML آن را به روز رسانی می کنند.
- قبل از حذف ایندکس، برای بررسی تاثیر آن، می توانیم ابتدا ایندکس را invisible کنیم و اگر مشکلی نبود آن را حذف کنیم.
- می توانید ایندکس های مختلفی شامل ستون های تکراری بسازی ولی تنها یکی از آنها می تواند visible باشد و بقیه invisible که این کار به شما کمک می کند تست های مختلفی انجام دهید.
موفق باشید
- ۹۹/۰۶/۰۵