sql >> Database >  >> NoSQL >> MongoDB

MongoDB verwijdert zeer langzaam

Dit gebeurt omdat, hoewel

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

ziet eruit als een enkele opdracht die in feite op veel documenten werkt - zoveel als aan deze vraag voldoen.

Wanneer u replicatie gebruikt, moet elke wijzigingsbewerking worden geschreven naar een speciale verzameling in de local database genaamd oplog.rs - kortweg oplog.

De oplog moet een vermelding hebben voor elk verwijderd document en elk van die vermeldingen moet worden toegepast op de oplog op elk secundair voordat het ook hetzelfde record kan verwijderen.

Een ding dat ik je kan aanraden is TTL-indexen - ze zullen "automatisch" documenten verwijderen op basis van de vervaldatum/waarde die u instelt - op deze manier hoeft u niet één keer massaal te worden verwijderd en kunt u in plaats daarvan de belasting over de tijd spreiden.



  1. Hoe kan ik een regex-variabele gebruiken in een query voor MongoDB?

  2. Gebruik redis om een ​​realtime chat op te bouwen met socket.io en NodeJs

  3. MongoDB zoeken en verwijderen - de snelste manier

  4. Voorkom dat Spring Data voor Mongo id's naar ObjectId converteert