यह बहुत संभावना है कि आप मोंगोडीबी में एक बहुत ही सामान्य बोतल गर्दन मार रहे हैं। चूंकि आप स्ट्रिंग्स जोड़कर दस्तावेज़ों को बहुत बार अपडेट कर रहे हैं, इसलिए एक अच्छा मौका है कि आप उस दस्तावेज़ के लिए जगह से बाहर हो रहे हैं और डेटाबेस को लगातार उस दस्तावेज़ को मेमोरी डिस्क में एक अलग स्थान पर ले जाने के लिए मजबूर कर रहे हैं, इसे टेल एंड पर फिर से लिखकर डेटा फ़ाइल का।
अनुक्रमणिका जोड़ना केवल लेखन प्रदर्शन को नुकसान पहुंचा सकता है जिससे कि जब तक आप भारी नहीं पढ़े जाते, तब तक प्रदर्शन में सुधार करने में मदद नहीं मिलेगी।
ऐसा करने के लिए मैं आपके एप्लिकेशन लॉजिक को बदलने पर विचार करूंगा:
- कीवर्ड फ़ील्ड पर अनुक्रमणिका
- डेटाबेस में कुछ भी डालने से पहले हर बार जब आप किसी ट्वीट का पता लगाते हैं, तो उस दस्तावेज़ के लिए क्वेरी करें जिसमें कीवर्ड होता है। यदि यह मौजूद नहीं है, तो एक नया दस्तावेज़ डालें लेकिन
ids
. को पैड करें सरणी में नकली तारों का एक पूरा गुच्छा जोड़कर संपत्ति। फिर इसे डालने के तुरंत बाद, उस सरणी से सभी आईडी हटा दें। इससे मोंगोडब उस पूरे दस्तावेज़ के लिए अतिरिक्त कमरा आवंटित करेगा ताकि जब आप आईडी फ़ील्ड में आईडी जोड़ना शुरू करें, तो इसमें बढ़ने के लिए बहुत जगह होगी। - ट्वीट की आईडी को
ids
में डालें फ़ील्ड