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

MongoDB का count() बहुत धीमा है। इसके साथ कैसे काम करें?


आप MongoDB में count() मेथड के प्रदर्शन को बढ़ाने के लिए ensureIndex() का उपयोग कर सकते हैं। कॉन्सेप्ट समझने के लिए, एक दस्तावेज़ के साथ एक संग्रह बनाते हैं। दस्तावेज़ के साथ संग्रह बनाने की क्वेरी इस प्रकार है:

> db.countPerformanceDemo.insertOne({"StudentName":"John","StudentCountryName":"US"}); { "acknowledged" : true, "insertedId" : ObjectId("5c8ebcf82f684a30fbdfd55f") } > db.countPerformanceDemo.insertOne({"StudentName":"Mike","StudentCountryName":"UK"}); { "acknowledged" : true, "insertedId" : ObjectId("5c8ebd042f684a30fbdfd560") } > db.countPerformanceDemo.insertOne({"StudentName":"David","StudentCountryName":"AUS"}); { "acknowledged" : true, "insertedId" : ObjectId("5c8ebd112f684a30fbdfd561") } > db.countPerformanceDemo.insertOne({"StudentName":"Carol","StudentCountryName":"US"}); { "acknowledged" : true, "insertedId" : ObjectId("5c8ebd1a2f684a30fbdfd562") } > db.countPerformanceDemo.insertOne({"StudentName":"Bob","StudentCountryName":"UK"}); { "acknowledged" : true, "insertedId" : ObjectId("5c8ebd212f684a30fbdfd563") } > db.countPerformanceDemo.insertOne({"StudentName":"David","StudentCountryName":"UK"}); { "acknowledged" : true, "insertedId" : ObjectId("5c8ebd9a2f684a30fbdfd564") } > db.countPerformanceDemo.insertOne({"StudentName":"David","StudentCountryName":"US"}); { "acknowledged" : true, "insertedId" : ObjectId("5c8ebd9e2f684a30fbdfd565") }

find() विधि की मदद से संग्रह से सभी दस्तावेज़ प्रदर्शित करें। क्वेरी इस प्रकार है:

> db.countPerformanceDemo.find().pretty();

आउटपुट निम्न है:

{ "_id" : ObjectId("5c8ebcf82f684a30fbdfd55f"), "StudentName" : "John", "StudentCountryName" : "US" } { "_id" : ObjectId("5c8ebd042f684a30fbdfd560"), "StudentName" : "Mike", "StudentCountryName" : "UK" } { "_id" : ObjectId("5c8ebd112f684a30fbdfd561"), "StudentName" : "David", "StudentCountryName" : "AUS" } { "_id" : ObjectId("5c8ebd1a2f684a30fbdfd562"), "StudentName" : "Carol", "StudentCountryName" : "US" } { "_id" : ObjectId("5c8ebd212f684a30fbdfd563"), "StudentName" : "Bob", "StudentCountryName" : "UK" } { "_id" : ObjectId("5c8ebd9a2f684a30fbdfd564"), "StudentName" : "David", "StudentCountryName" : "UK" } { "_id" : ObjectId("5c8ebd9e2f684a30fbdfd565"), "StudentName" : "David", "StudentCountryName" : "US" }

count() के उच्च-प्रदर्शन रूप को प्राप्त करने की क्वेरी यहाँ है:

> db.countPerformanceDemo.ensureIndex({"StudentName":1}); { "createdCollectionAutomatically" : false, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }

अब, count() मेथड लागू करें। यह "David" StudentName वाले रिकॉर्ड गिनता है:

> db.countPerformanceDemo.find({"StudentName":"David"}).count();

आउटपुट निम्न है:

3

  1. - MongoDB एग्रीगेशन में मल्टीपल फ़ील्ड्स द्वारा काउंट करना

    एक ही पाइपलाइन में कई फ़ील्ड्स पर काउंट करने के लिए $facet का उपयोग करें। डेमो डेटा db.demo721.insertOne({ details1: { id:101 }, details2: { id:101 }, details3: { id:101 } }); db.demo721.insertOne({ details1: { id:101 }, details2: { id:102 }, details3: { id:102 } }); क्वेरी

  1. - MongoDB में $push के साथ काम करें

    आइए एक कलेक्शन बनाते हैं: > db.demo738.insertOne({Subjects:[C,C++]}); { acknowledged : true, insertedId : ObjectId(5ead696557bb72a10bcf0661) } > db.demo738.insertOne({Subjects:[MySQL,PL/SQL]}); { acknowledged : true, insertedId : ObjectId(5ead696657bb72a10bcf0662) } find() से सभी डॉक्यूमेंट्स

  1. - MySQL में COUNT DISTINCT की धीमी प्रक्रिया को कैसे तेज़ करें?

    MySQL में COUNT(DISTINCT column) क्वेरी बड़े डेटासेट पर धीमी चल सकती है। इसे तेज़ करने का सबसे प्रभावी तरीका संबंधित कॉलम पर **इंडेक्स (Index)** बनाना है। इंडेक्स डेटाबेस को विशिष्ट मानों को तेज़ी से खोजने और गिनने में सक्षम बनाता है, बिना पूरी टेबल को स्कैन किए। उदाहरण: इंडेक्स के साथ COUNT DISTIN