MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

Mongodb क्वेरी निष्पादन में बहुत अधिक समय लगता है

आपकी क्वेरी को ऑप्टिमाइज़ करने के लिए बहुत सी चीज़ें हैं। मैं क्या कोशिश करूंगा:

  • जैसा कि एंथनी विंजलेट ने टिप्पणियों में कहा था, पहले चरण के रूप में संभव $ मैच चरण का उपयोग करें। इस तरह, आप निम्न चरणों में पारित दस्तावेज़ों की संख्या को कम कर सकते हैं, और अनुक्रमणिका का उपयोग कर सकते हैं।

  • मान लें कि आप कम से कम 3.6 मोंगो संस्करण का उपयोग करते हैं, 'लेट/पाइपलाइन' सिंटैक्स का उपयोग करके अपने लुकअप चरणों को बदलें (यहां देखें ) इस तरह, आप अपने लुकअप पाइपलाइन में अपने 'बाहरी फ़िल्टर' ("customer_info.status":{$ne:9}, "model_info.status":{$ne:9} ) को $मिलान चरण में एकीकृत कर सकते हैं। सही फ़ील्ड/संग्रह पर अनुक्रमणिका के साथ, आप अपने $lookup चरणों में कुछ समय/स्मृति प्राप्त करेंगे।

  • निम्नलिखित चरणों में पारित दस्तावेज़ों की संख्या को सीमित करने के लिए, जितना हो सके अपने आराम चरणों को करें।

यह समझना महत्वपूर्ण है कि एकत्रीकरण पाइपलाइन कैसे काम करती है:प्रत्येक चरण डेटा प्राप्त करता है, अपनी सामग्री करता है, और अगले चरण में डेटा पास करता है। इसलिए पाइपलाइन को जितना कम डेटा भेजा जाएगा, आपकी क्वेरी उतनी ही तेज़ होगी।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. जब मैं एक्सप्रेस पैराम मार्गों के लिए findOne विधि का उपयोग कर रहा हूं तो मुझे favicon.ico क्यों मिल रहा है?

  2. मोंगोडब स्कीमा डिजाइन

  3. मोंगोडब और नोडज में प्रकार संख्या के क्षेत्र को घटाना

  4. नेवला में दो संग्रह कैसे जुड़ें

  5. Node.js . का उपयोग करके MongoDB से अंतिम N रिकॉर्ड चुनें