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

Mongodb 2.4 2dsphere बहुत धीमी क्वेरी ($geoIntersects का उपयोग करके)?

लॉग में क्वेरी उस क्वेरी से मेल नहीं खाती जिसे आप चलाते हैं, स्थान भिन्न है:

[ 116.3426399230957, 39.95959281921387 ] बनाम.
[ 116.3175773620605, 39.97607231140137 ]

मुझे यह भी नहीं लगता कि आपने अपनी पूरी लॉग लाइन को पुन:प्रस्तुत किया है, क्योंकि इसमें सिर्फ area का उल्लेख है और नहीं deliver_area

हालांकि, वे वास्तव में धीमे नहीं हैं . पहले मामले में, इसमें 103ms लगे, जो कुछ मामलों में हो सकता है क्योंकि आपका सर्वर अन्य IO कर रहा है। दूसरी क्वेरी में explain() . के रूप में 5ms लगे आउटपुट आपको बताता है।

लेकिन सबसे खास बात यह है कि आपका मुख्य मानदंड id: 59 . है . मुझे नहीं पता कि आपका _id क्या है फ़ील्ड है, लेकिन अगर आप id . पर एक इंडेक्स सेट करते हैं तो इसे 2dsphere . का उपयोग भी नहीं करना चाहिए अनुक्रमणिका बिल्कुल - जब तक कि आपके पास निश्चित रूप से कई दस्तावेज़ न हों जहाँ id=59 . उस स्थिति में, आप { id: 1, deliver_area: '2dsphere' } पर एक मिश्रित कुंजी के साथ बेहतर हो सकते हैं ।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose / mongoDb खोज जहां मुझे आबादी रहित संपत्ति के मूल्यों की आवश्यकता है

  2. MongoDB:2 नेस्टेड सरणियों के साथ एक दस्तावेज़ में एक औसत अद्यतन कर रहा है

  3. MongoDB का उपयोग करके किसी फ़ील्ड में मानों की संख्या सीमित करें

  4. मोंगोडब हेल्थचेक स्टेप बाय स्टेप

  5. एकीकरण परीक्षणों में मोंगो इंडेक्स का परीक्षण कैसे करें?