به آخرین قسمت از فصل ایندکس ها در MongoDB خوش آمدید! ما در قسمت قبل در رابطه با دو روش اصلی برای ساخت ایندکس ها (فارغ از نوع ایندکس) صحبت کردیم: تعریف ایندکس در foreground (پیش زمینه) – به صورت مستقیم. در این حالت کالکشن قفل شده و قابل دسترسی نیست اما سریع تر است. تعریف ایندکس در background (پس زمینه) – به صورت غیر مستقیم. در این حالت کالکشن قابل دسترسی است اما زمان طولانی تری برای اجرا می خواهد. معمولا از این روش در وب سایت های live (در حال استفاده توسط عموم) استفاده می شود. سپس برای آماده سازی پایگاه داده اسکریپت زیر را در MongoDB اجرا کردیم: حالا می توانیم شروع به اضافه کردن ایندکس های متخلف کنیم. من در قدم اول به صورت عادی و همیشگی یک single field index را تعریف می کنم: db.ratings.createIndex({age: 1}) اجرای این کوئری حدود 5 ثانیه طول می کشد (بسته به سیستم شما ممکن است بیشتر یا کمتر شود) و در حین اجرا نیز نمی توانید هیچ دستور دیگری را اجرا کنید. البته 5 ثانیه کم است اما به صورت لحظه ای نیست و زمان نیاز دارد. برای استفاده از این ایندکس نیز می توانیم یک کوئری ساده ی find را داشته باشیم: db.ratings.explain(“executionStats”).find({age: {$gt: 80}}) یعنی تمام افرادی را پیدا کن که بالای 80 سال دارند. البته از آنجایی که از explain استفاده کرده ایم، گزارشی نیز برایمان برگردانده می شود. این گزارش می گوید که حدود 100 هزار سند بررسی شده اند تا این فرد پیدا شود:
پنل نویسندگان
