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

MongoDB को इंडेक्स के बजाय BasicCursor का उपयोग करने के लिए कैसे बाध्य करें?

MongoDB को इंडेक्स के बजाय पूर्ण संग्रह स्कैन (BasicCursor) का उपयोग करने के लिए बाध्य करने के लिए, hint({ $natural: 1 }) का उपयोग करें। यह प्रदर्शन परीक्षण या इंडेक्स व्यवहार डीबग करने के लिए उपयोगी है।

उदाहरण: इंडेक्स के साथ संग्रह

> db.demo31.createIndex({"StudentFirstName":1});
{ "createdCollectionAutomatically" : true, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }
> db.demo31.insertOne({"StudentFirstName":"John"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e174f8fcfb11e5c34d898c1") }
> db.demo31.insertOne({"StudentFirstName":"Jace"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e174f97cfb11e5c34d898c2") }
> db.demo31.insertOne({"StudentFirstName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e174f9ccfb11e5c34d898c3") }
> db.demo31.insertOne({"StudentFirstName":"James"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e174fa0cfb11e5c34d898c4") }

दस्तावेज़ देखना

> db.demo31.find();

आउटपुट: चार दस्तावेज़।

BasicCursor बाध्य करें (नेचुरल क्रम)

> db.demo31.find({"StudentFirstName": {$regex: '^Ja'}}).hint({ $natural: 1 });

आउटपुट:

{ "_id" : ObjectId("5e174f97cfb11e5c34d898c2"), "StudentFirstName" : "Jace" }
{ "_id" : ObjectId("5e174fa0cfb11e5c34d898c4"), "StudentFirstName" : "James" }

व्याख्या

  • hint({ $natural: 1 }) ऑप्टिमाइज़र को इंडेक्स को अनदेखा करने और डिस्क पर भौतिक क्रम में दस्तावेज़ स्कैन करने के लिए कहता है।
  • $natural: 1 आगे का संग्रह स्कैन; -1 पीछे का स्कैन।
  • बिना हिंट के, StudentFirstName पर इंडेक्स का उपयोग रेगुलर एक्सप्रेशन प्रीफिक्स मिलान (^Ja) के लिए किया जाएगा।

कब उपयोग करें

  • इंडेक्स बनाम कलेक्शन स्कैन प्रदर्शन की तुलना करना।
  • इंडेक्स भ्रष्टाचार या प्लान चयन बग डीबग करना।
  • छोटे संग्रह जहां कलेक्शन स्कैन तेज है।

चेतावनी

उत्पादन क्वेरी में hint का उपयोग करने से बचें जब तक आवश्यक न हो; ऑप्टिमाइज़र को चुनने दें। स्थायी हिंट के लिए, इंडेक्स स्पेसिफिकेशन के साथ hint() का उपयोग करें।

  1. एक्सेल INDEX फंक्शन का उपयोग कैसे करें एक्सेल INDEX फंक्शन का उपयोग कैसे करें

    INDEX फंक्शन क्या है? INDEX फंक्शन निर्दिष्ट स्थान (पंक्ति और कॉलम संख्या) के आधार पर किसी सूची या टेबल से मान निकालता है। सिंटैक्स: =INDEX(सरणी, पंक्ति_संख्या, कॉलम_संख्या) सरणी: डेटा रेंज या नाम्ड रेंज। पंक्ति_संख्या: सरणी के भीतर सापेक्ष पंक्ति संख्या (पूरे शीट की नहीं)। कॉलम_संख्या: सरणी के भीत

  1. Excel में INDEX और MATCH फंक्शन का उपयोग कैसे करें Excel में INDEX और MATCH फंक्शन का उपयोग कैसे करें

    जानने योग्य बातें INDEX फंक्शन का उपयोग अकेले किया जा सकता है, लेकिन इसके अंदर MATCH फंक्शन को नेस्ट करने से एक उन्नत लुकअप बनता है। यह नेस्टेड फंक्शन VLOOKUP से अधिक लचीला है और तेजी से परिणाम दे सकता है। यह लेख सभी संस्करणों में Excel में INDEX और MATCH फंक्शन को एक साथ उपयोग करने का तरीका बतात

  1. Mac पर Force Quit कमांड का उपयोग कैसे करें Mac पर Force Quit कमांड का उपयोग कैसे करें

    Mac की विश्वसनीय होने की प्रतिष्ठा है, लेकिन इसका मतलब यह नहीं है कि आपको Mac पर कभी अनरिस्पॉन्सिव ऐप का सामना नहीं करना पड़ेगा। वास्तव में, यह सबसे आम समस्याओं में से एक है जो Mac उपयोगकर्ता रिपोर्ट करते हैं - खासकर जब उपयोगकर्ता एक साथ कई एप्लिकेशन खोलते हैं। जब भी ऐसा होता है, कोई भी स्पष्ट इनपुट