sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB tar mycket långsamma bort

Detta händer eftersom även om

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

ser ut som ett enda kommando, det fungerar faktiskt på många dokument - så många som uppfyller denna fråga.

När du använder replikering måste varje ändringsoperation skrivas till en speciell samling i local databas som heter oplog.rs - oplog för kort.

Oploggen måste ha en post för varje raderat dokument och var och en av dessa poster måste tillämpas på oploggen på varje sekundär innan den också kan radera samma post.

En sak jag kan föreslå att du överväger är TTL-index - de kommer "automatiskt" att ta bort dokument baserat på utgångsdatum/värde som du ställt in - på så sätt kommer du inte att ha en stor radering och istället kommer du att kunna sprida belastningen mer över tiden.



  1. MongoDB indexerar för $elemMatch

  2. MongoDB Node.js inbyggda drivrutin sväljer tyst "bulkWrite"-undantaget

  3. Hur kan jag skapa ett index med pymongo

  4. Mongodb schema design