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

MongoDB बहुत धीमी गति से हटाता है

ऐसा इसलिए हो रहा है क्योंकि भले ही

db.repo.remove({"date" : {"$lt" : new Date(1362096000000)}})

ऐसा लगता है कि यह एक ही कमांड है जो वास्तव में कई दस्तावेज़ों पर काम कर रहा है - जितने इस क्वेरी को संतुष्ट करते हैं।

जब आप प्रतिकृति का उपयोग करते हैं, तो प्रत्येक परिवर्तन कार्रवाई को local . में एक विशेष संग्रह में लिखा जाना चाहिए डेटाबेस oplog.rs . कहलाता है - संक्षिप्त के लिए oplog।

oplog में प्रत्येक हटाए गए दस्तावेज़ के लिए एक प्रविष्टि होनी चाहिए और उन प्रविष्टियों में से प्रत्येक को उसी रिकॉर्ड को हटाने से पहले प्रत्येक माध्यमिक पर oplog पर लागू करने की आवश्यकता होती है।

एक बात जो मैं आपको सुझा सकता हूं वह है TTL अनुक्रमणिका - वे आपके द्वारा सेट की गई समाप्ति तिथि/मान के आधार पर दस्तावेज़ों को "स्वचालित रूप से" हटा देंगे - इस तरह आपके पास एक भी बड़ा डिलीट नहीं होगा और इसके बजाय आप समय के साथ लोड को और अधिक फैलाने में सक्षम होंगे।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB में उप दस्तावेज़ों को क्रमबद्ध करें

  2. Mongo DB, PHP किसी दस्तावेज़ में फ़ील्ड जोड़ें या अपडेट करें

  3. mongodb - इंडेक्स के बजाय COLLSCAN का उपयोग करके $ लुकअप पाइपलाइन

  4. मोंगो खोल Azure CosmosDB से कनेक्ट नहीं हो सकता

  5. मैं MongoDB दस्तावेज़ फ़ील्ड को केवल तभी अपडेट करूं जब वे मौजूद न हों?