MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDB में, यदि कोई अनुक्रमणिका 3 फ़ील्ड पर है, तो हम 2 फ़ील्ड पर क्वेरी करते समय उस अनुक्रमणिका का उपयोग कर सकते हैं? (तीसरे क्षेत्र पर वाइल्डकार्ड)

वे बी-ट्री इंडेक्स हैं, इसलिए उनका उपयोग शामिल कॉलम के उपसर्ग सबसेट के लिए किया जा सकता है। यदि आपके पास अग्रणी कॉलम नहीं हैं, तो एक इंडेक्स रेंज स्कैन (वह ऑपरेशन जिसके लिए मुख्य रूप से बी-ट्री इंडेक्स का उपयोग किया जाता है) अब संभव नहीं है। अभी भी अनुक्रमणिका का उपयोग करने के अन्य तरीके हो सकते हैं (उदाहरण के लिए Oracle में तेज़ पूर्ण स्कैन और स्किप स्कैन हैं), लेकिन आमतौर पर, अनुक्रमणिका का उपयोग नहीं किया जाएगा।

यह तर्क हर उस चीज़ पर लागू होता है जो बी-ट्री इंडेक्स, रिलेशनल डीबी का उपयोग करता है या नहीं।

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




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongoose, Node.js में var द्वारा कुंजी कैसे सेट करें?

  2. MongoDB में किसी भी क्षेत्र के मूल्य को स्पष्ट रूप से नाम दिए बिना खोजना

  3. एक सरणी स्रोत का उपयोग करके मोंगोडब में सरणी सबसेट प्राप्त करें

  4. सोलर के साथ मोंगोडीबी का उपयोग कैसे करें?

  5. MongoDB:Mapreduce:कम करें-> कई अभी तक समर्थित नहीं हैं