प्रश्नों की गणना, अनुक्रमित या अन्यथा, इस तथ्य के कारण धीमी है कि MongoDB को अभी भी आपके मानदंडों से मेल खाने वाले दस्तावेजों की उचित संख्या खोजने के लिए पूर्ण बी-पेड़ चलना है। इसका कारण यह है कि MongoDB बी-ट्री संरचना "गिनती" नहीं है, जिसका अर्थ है कि प्रत्येक नोड नोड/उपट्री में तत्वों की मात्रा के बारे में जानकारी संग्रहीत नहीं करता है।
यह भी ध्यान दें कि db.col.count() संस्करण (इसलिए कोई मानदंड नहीं) एक बड़ा शॉर्टकट ले सकता है और वास्तव में कोई क्वेरी नहीं करता है इसलिए यह गति है। उस ने कहा कि यह हमेशा एक ही मान की रिपोर्ट नहीं करता है क्योंकि गिनती क्वेरी सभी तत्वों को वापस कर देगी (उदाहरण के लिए यह उच्च लेखन थ्रूपुट वाले शार्प वातावरण में नहीं होगी)। बहस के लिए तैयार है कि यह एक बग है या नहीं। मुझे लगता है कि यह है।
ध्यान दें कि 2.3+ में एक महत्वपूर्ण अनुकूलन पेश किया गया था जो अनुक्रमित क्षेत्रों पर गणना के प्रदर्शन में सुधार (और करता) होना चाहिए। देखें:https://jira.mongodb.org/browse/SERVER-7745