Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में बड़े डायनामिक डेटासेट में टैग्स गिनने के लिए परफॉरमेंस सिस्टम कैसे बनाएं?

MongoDB में इंडेक्स और explain() के साथ टैग काउंटिंग परफॉरमेंस विश्लेषण

इंडेक्स बनाएं और फिर explain() का उपयोग करें।

इंडेक्स बनाना और कलेक्शन पॉपुलेट करना

> db.demo278.ensureIndex({"Subjects":1});
{ "createdCollectionAutomatically": true, "numIndexesBefore": 1, "numIndexesAfter": 2, "ok": 1 }
> db.demo278.insertOne({"Subjects":["MySQL","MongoDB","Java"]});
{ "acknowledged": true, "insertedId": ObjectId("5e49096edd099650a5401a55") }
> db.demo278.insertOne({"Subjects":["C","C++"]});
{ "acknowledged": true, "insertedId": ObjectId("5e490978dd099650a5401a56") }
> db.demo278.insertOne({"Subjects":["Spring","Hibernate"]});
{ "acknowledged": true, "insertedId": ObjectId("5e490984dd099650a5401a57") }

सभी डॉक्यूमेंट्स

> db.demo278.find();

परफॉरमेंस जांच क्वेरी

> db.demo278.find({Subjects:{$in:["Spring","MongoDB"]}}).explain();

परिणाम (explain आउटपुट)


व्याख्या

  • ensureIndex({"Subjects":1}): Subjects ऐरे पर आरोही इंडेक्स बनाता है
  • isMultiKey: true: पुष्टि करता है कि यह मल्टी-की इंडेक्स है (ऐरे फील्ड पर)
  • winningPlan.stage: "IXSCAN": इंडेक्स स्कैन उपयोग किया गया (पूर्ण संग्रह स्कैन नहीं)
  • indexBounds: दिखाता है कि इंडेक्स "MongoDB" और "Spring" के लिए सटीक मानों पर खोज कर रहा है
  • rejectedPlans: []: कोई वैकल्पिक योजना अस्वीकृत नहीं

बड़े डायनामिक डेटासेट के लिए टैग काउंटिंग रणनीतियाँ

  1. इंडेक्स्ड ऐरे फील्ड: टैग्स को ऐरे में स्टोर करें, इंडेक्स बनाएं
  2. एग्रीगेशन पाइपलाइन: $unwind + $group + $sort द्वारा काउंट करें
  3. मटेरियलाइज्ड व्यू: अलग कलेक्शन में टैग काउंट्स प्रीकंप्यूट करें
  4. चेंज स्ट्रीम्स: रियल-टाइम अपडेट के लिए काउंट्स सिंक करें

एग्रीगेशन काउंटिंग उदाहरण

            
  1. - MongoDB बड़ा संग्रह और धीमी खोज? कैसे ठीक करें?

    तेज़ खोज के लिए, इंडेक्स बनाएं। इसके लिए, createIndex() का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo661.createIndex({ListOfName:1}); { createdCollectionAutomatically : true, numIndexesBefore : 1, numIndexesAfter : 2, ok : 1 } > db.demo661.insertOne({_id:1,ListOfName:[John,R

  1. - MongoDB में कर्सर इटरेशन काउंट करना

    MongoDB शेल में while लूप और hasNext()/next() का उपयोग करके कर्सर इटरेशन गिनें। डेमो डेटा > db.demo724.insertOne({ details: { id:101, otherDetails:[ {Name:Chris} ] } }); > db.demo724.insertOne({ }); > db.demo724.insertOne({ details: { id:1001 } }); काउंट स्क्रिप्ट > var c = db.demo724.

  1. सिस्टम रिस्टोर पॉइंट कैसे बनाएं सिस्टम रिस्टोर पॉइंट कैसे बनाएं

    सिस्टम रिस्टोर पॉइंट विंडोज में एक बड़ी मदद हैं। वे आपको अपने सिस्टम को उस पिछले समय पर वापस ले जाने देते हैं जब आपने किसी समस्या का अनुभव करना शुरू किया था। चूंकि वे आपकी व्यक्तिगत फाइलों को नहीं छूते, सिस्टम रिस्टोर चलाना बिना विंडोज को रीसेट किए समस्याओं का निवारण करने का एक शानदार तरीका है। जबक