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

MongoDB रिकॉर्ड खोजने में बहुत समय ले तो क्या करें?

MongoDB क्वेरी धीमी होने पर **इंडेक्स** बनाकर प्रदर्शन में नाटकीय सुधार कर सकते हैं। इंडेक्स के बिना MongoDB को पूरा कलेक्शन स्कैन करना पड़ता है।

इंडेक्स बनाने का सिंटैक्स

db.yourCollectionName.createIndex({yourFieldName: 1});

1 = आरोही, -1 = अवरोही।

पहला तरीका: सिंगल फील्ड इंडेक्स (संख्या/स्ट्रिंग)

> db.takeLessTimeToSearchDemo.createIndex({"EmployeeName": 1});
{ "createdCollectionAutomatically" : true, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }

यह स्ट्रिंग/संख्या फील्ड के लिए मानक इंडेक्स है। समानता और रेंज क्वेरी दोनों के लिए काम करता है।

दूसरा तरीका: टेक्स्ट इंडेक्स (पूर्ण-पाठ खोज)

> db.takeLessTimeToSearchDemo1.createIndex({"EmployeeName": "text"});
{ "createdCollectionAutomatically" : true, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }

उपयोग: $text ऑपरेटर के साथ पूर्ण-पाठ खोज के लिए:

db.collection.find({$text: {$search: "John"}})

तीसरा तरीका: हैश्ड इंडेक्स (शार्डिंग/वितरण)

> db.takeLessTimeToSearchDemo2.createIndex({"EmployeeName": "hashed"});
{ "createdCollectionAutomatically" : true, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }

उपयोग: शार्ड की के लिए, उच्च कार्डिनैलिटी फील्ड के लिए, रेंज क्वेरी नहीं** समर्थन करता।

इंडेक्स प्रकार सारांश

प्रकारसिंटैक्सउपयोग
सिंगल फील्ड{field: 1}सामान्य क्वेरी, सॉर्ट
कंपाउंड{field1: 1, field2: -1}एकाधिक फील्ड क्वेरी
मल्टीकी{arrayField: 1}सरणी फील्ड (स्वचालित)
टेक्स्ट{field: "text"}पूर्ण-पाठ खोज
हैश्ड{field: "hashed"}शार्डिंग, समानता
जियोस्पेशियल{field: "2dsphere"}स्थान क्वेरी

इंडेक्स जांचें

db.collection.getIndexes()

क्वेरी प्लान विश्लेषण

db.collection.find({field: "value"}).explain("executionStats")

मुख्य संकेतक: totalKeysExamined vs totalDocsExamined - इंडेक्स उपयोग होने पर Keys << Docs होना चाहिए।

  1. - पायथन में सूची में किसी तत्व का इंडेक्स कैसे खोजें?

    index() मेथड जो सूची (साथ ही स्ट्रिंग और टुपल जैसे अन्य सीक्वेंस टाइप) के लिए उपलब्ध है, किसी विशेष तत्व की पहली ऑकरेंस खोजने के लिए उपयोगी है। >>> L1 = [a, b, c, a, x] >>> L1 [a, b, c, a, x] >>> L1.index(a) 0 एक तत्व के सभी ऑकरेंस के इंडेक्स प्राप्त करने के लिए, enumera

  1. विंडोज 10 में लॉक स्क्रीन से लॉगिन स्क्रीन लोड होने में बहुत समय लगता है विंडोज 10 में लॉक स्क्रीन से लॉगिन स्क्रीन लोड होने में बहुत समय लगता है

    यदि आपके विंडोज 10 पीसी पर लॉक स्क्रीन से लॉगिन स्क्रीन पर जाते समय देरी होती है, तो आप इन सुझावों का पालन करके इस लॉक स्क्रीन से लॉगिन स्क्रीन देरी समस्या को ठीक कर सकते हैं: लॉक स्क्रीन बैकग्राउंड छवि अक्षम करें लॉगिन स्क्रीन बैकग्राउंड छवि अक्षम करें विंडोज स्पॉटलाइट अक्षम करें यदि यह सक्षम है ल

  1. विंडोज 10 में लॉक स्क्रीन से लॉगिन स्क्रीन लोड होने में बहुत समय लगता है विंडोज 10 में लॉक स्क्रीन से लॉगिन स्क्रीन लोड होने में बहुत समय लगता है

    यदि आपके विंडोज 10 पीसी पर लॉक स्क्रीन से लॉगिन स्क्रीन पर जाते समय देरी होती है, तो आप इन सुझावों का पालन करके इस लॉक स्क्रीन से लॉगिन स्क्रीन देरी समस्या को ठीक कर सकते हैं: लॉक स्क्रीन बैकग्राउंड छवि अक्षम करें लॉगिन स्क्रीन बैकग्राउंड छवि अक्षम करें विंडोज स्पॉटलाइट अक्षम करें यदि यह सक्षम है ल