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

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

<घंटा/>

आप MongoDB में गिनती () विधि के प्रदर्शन को बढ़ावा देने के लिए सुनिश्चित इंडेक्स () का उपयोग कर सकते हैं। अवधारणा को समझने के लिए, आइए हम दस्तावेज़ के साथ एक संग्रह बनाएं। दस्तावेज़ के साथ संग्रह बनाने की क्वेरी इस प्रकार है -

> db.countPerformanceDemo.insertOne({"StudentName":"John",,"StudentCountryName":"US"});{ "स्वीकृत" :सच, "insertId" :ObjectId("5c8ebcf82f684a30fbdfd55f")}> db. countPerformanceDemo.insertOne({"StudentName":"Mike",,"StudentCountryName":"UK"});{ "स्वीकृत" :सच, "insertId" :ObjectId("5c8ebd042f684a30fbdfd560")}> db.countPerformanceDemo({".insertOne({".insertOne(".insertOne) छात्रनाम":"डेविड",,"स्टूडेंटकंट्रीनाम":"एयूएस"});{ "स्वीकृत" :सच, "सम्मिलित आईडी" :ऑब्जेक्ट आईडी("5c8ebd112f684a30fbdfd561")}> db.countPerformanceDemo.insertOne({"StudentName":"Carol" ,"StudentCountryName":"US"});{ "स्वीकृत" :सच, "insertId" :ObjectId("5c8ebd1a2f684a30fbdfd562")}> db.countPerformanceDemo.insertOne({"StudentName":"Bob",,"StudentCountryName":" यूके"});{"स्वीकृत" :सत्य, "insertId" :ObjectId("5c8ebd212f684a30fbdfd563")}> db.countPerformanceDemo.insertOne({"StudentName":"David","StudentCountryName":"UK"});{ "स्वीकृत" :सच, "insertId" :ObjectId("5c8ebd9a2f684a30f bdfd564")}> db.countPerformanceDemo.insertOne({"StudentName":"David","StudentCountryName":"US"});{ "स्वीकृत" :सच, "insertId" :ObjectId("5c8ebd9e2f684a30fbdfd565")} 

संग्रह से सभी दस्तावेज़ों को ढूँढें () विधि की सहायता से प्रदर्शित करें। क्वेरी इस प्रकार है -

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

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

{ "_id" :ObjectId("5c8ebcf82f684a30fbdfd55f"), "StudentName" :"John", "StudentCountryName" :"US"}{ "_id" :ObjectId("5c8ebd042f684a30fbdfd560"), "StudentName" , "StudentCountryName" :"UK"}{ "_id" :ObjectId("5c8ebd112f684a30fbdfd561"), "StudentName" :"David", "StudentCountryName" :"AUS"}{ "_id" :ObjectId("5c8ebd1a2f684a") स्टूडेंटनाम":"कैरोल", "स्टूडेंटकंट्रीनाम":"यूएस"} {"_आईडी":ऑब्जेक्ट आईडी ("5c8ebd212f684a30fbdfd563"), "स्टूडेंटनाम":"बॉब", "स्टूडेंटकंट्रीनाम":"यूके"} { "_आईडी":ऑब्जेक्ट आईडी ( "5c8ebd9a2f684a30fbdfd564"), "StudentName" :"David", "StudentCountryName" :"UK"}{ "_id" :ObjectId("5c8ebd9e2f684a30fbdfd565"), "StudentName" :"David", "StudentName" :"StudentName" :"StudentName" :"StudentName" /पूर्व> 

गिनती के उच्च-प्रदर्शन फॉर्म को प्राप्त करने के लिए यहां क्वेरी है () -

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

अब, गिनती () विधि लागू करें। यह छात्रनाम "डेविड" के साथ रिकॉर्ड की गणना करता है:

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

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

3

  1. MongoDB एकत्रीकरण के साथ कई क्षेत्रों द्वारा गणना करें

    एकाधिक फ़ील्ड द्वारा गिनने के लिए, MongoDB में $facet का उपयोग करें। $facet इनपुट दस्तावेज़ों के एक ही सेट पर एक ही चरण में कई एकत्रीकरण पाइपलाइनों को संसाधित करता है। आइए दस्तावेजों के साथ एक संग्रह बनाएं - db.demo721.insertOne(... {...... details1:{... id:101......},. .. details2:{... id:102...},

  1. MongoDB में $ पुश के साथ काम करें

    आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo738.insertOne({Subjects:["C","C++"]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ead696557bb72a10bcf0661") } > db.demo738.insertOne({Subjects:["MySQL"

  1. MySQL काउंट डिस्टिंक्ट वैल्यू की प्रक्रिया बहुत धीमी है। इसे कैसे बांधें?

    प्रक्रिया को तेज करने के लिए, आप INDEX का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाएं - तालिका बनाएं DemoTable1905 ( FirstName varchar(20), LastName varchar(20), INDEX F_L_Name(FirstName, LastName) );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डाल