رفتن به نوشته‌ها

دسته: MongoDB (مونگو دی‌بی)

عیب‌یابی کوئری‌ها و آشنایی با covered queries

در قسمت های قبل از این فصل، در مورد انواع ایندکس ها و نحوه ی ساخت آن ها صحبت کردیم اما می خواهیم در این جلسه به نکات مهم تری بپردازیم. به طور مثال چطور کوئری های خود را طراحی کنیم که بهینه باشند؟ آیا باید برای کوئری های خود نقشه ی خاصی داشته باشیم؟ اگر کوئری های ما به مشکل خوردند، چطور می توانیم آن ها را عیب یابی کرده و متوجه مشکل آن ها شویم؟ برای اینکه متوجه مشکلات کوئری خود بشویم (فرآیند عیب یابی)، می توانیم از متد explain استفاده کنیم. ما تا این جلسه ده ها بار از این متد استفاده کرده ایم تا نحوه ی اجرای آن و زمان لازم برای اجرایش را مشاهده کنیم. حالت پیش فرض explain همان حالت خلاصه است که بدون پاس دادن آرگومان دریافت می کنیم. مثلا: db.contacts.explain().find({“dob.age”: {$gt: 60}, gender: “male”}) زمانی که آرگومانی به explain پاس داده نمی شود، از مقدار پیش فرض استفاده خواهیم کرد که queryPlanner است. یعنی کوئری بالا با کوئری زیر دقیقا یکسان هستند: