पाठ 12 / 22

इंडेक्स

पूरे कलेक्शन को स्कैन करने से बचकर क्वेरी तेज़ करें।

इंडेक्स क्यों ज़रूरी हैं

बिना इंडेक्स के, मोंगोडीबी मेल ढूँढने के लिए हर डॉक्यूमेंट स्कैन करता है। इंडेक्स एक क्रमबद्ध संरचना है जो सीधे सही डॉक्यूमेंट तक पहुँचने देती है।

इंडेक्स बनाना

1 का मतलब आरोही क्रम है, -1 का मतलब अवरोही।

db.users.createIndex({ email: 1 })

क्वेरी प्लान जाँचना

explain() दिखाता है कि क्वेरी ने इंडेक्स स्कैन (IXSCAN) उपयोग किया या धीमा कलेक्शन स्कैन (COLLSCAN)।

db.users.find({ email: "ada@example.com" }).explain("executionStats")

इंडेक्स मुफ़्त नहीं हैं

हर इंडेक्स पढ़ने की गति बढ़ाता है पर लिखने को थोड़ा धीमा करता है और अतिरिक्त स्टोरेज लेता है — केवल उन्हीं फ़ील्ड को इंडेक्स करें जिन पर वाकई क्वेरी करते हैं।