मेरे पास एक मोंगोडीबी क्वेरी है जिसे मैं अनुकूलित करने की कोशिश कर रहा हूं। मैंने एक इंडेक्स बनाया जो क्वेरी में फ़ील्ड से मेल खाता है, लेकिन मुझे लगता है कि और milli
एस संकेतित संस्करण के लिए बेहतर हैं, भले ही मुझे मोंगो डीबी के क्वेरी प्लानर को स्पष्ट hint()
के बिना इंडेक्स का उपयोग करने के लिए प्रतीत नहीं होता है।मोंगोडीबी सही सूचकांक का उपयोग क्यों नहीं कर रहा है?
यहाँ अनुक्रमित, क्वेरी (के साथ या बिना संकेत) कर रहे हैं, और एक वर्बोज़ व्याख्या करते हैं:
http://paste.roguecoders.com/p/4face5649612e840da04c5fea0491c9b.txt
जानकारी का एक अतिरिक्त बिट: यह सूचकांक एक बड़े ish संग्रह में है, में एक प्रतिकृति सेट, इसलिए मैंने offline method का उपयोग कर इंडेक्स बनाया। यह अब सभी नोड्स में मौजूद है।
(मूलतः MongoDB-User पर पोस्ट।)
क्या हुआ अगर आपने अनुक्रमणिका बनाई: 'owner_1_date_-1_from_backup_1'? – Sammaye
मेरी अनुक्रमणिका सही है। मैं 'तारीख' पर सॉर्ट कर रहा हूं। (और 'संकेत()' यह पुष्टि करता है कि यह बेहतर है।) इस संग्रह को हमारे उत्पादन डेटासेट पर इंडेक्स करने में एक घंटे लगते हैं, इसलिए मैं बिना किसी अच्छे कारण के चीजों को आजमाने की इच्छा नहीं रखता हूं। (-: – scoates
यह लिंक आपको बता सकता है कि आपको 'scanAndOrder' क्यों मिल रहा है http://blog.mongolab.com/2012/06/cardinal-ins/ यह भी समझा सकता है कि क्यों मोंगोडीबी आपके बनाए गए इंडेक्स को इष्टतम – Sammaye