sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB meget langsomme sletninger

Dette sker, fordi selvom

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

ligner en enkelt kommando, den fungerer faktisk på mange dokumenter - så mange som opfylder denne forespørgsel.

Når du bruger replikering, skal hver ændringshandling skrives til en speciel samling i local database kaldet oplog.rs - oplog for kort.

Oploggen skal have en post for hvert slettet dokument, og hver enkelt af disse poster skal anvendes på oploggen på hver sekundær, før den også kan slette den samme post.

En ting, jeg kan foreslå, at du overvejer, er TTL-indekser - de vil "automatisk" slette dokumenter baseret på udløbsdato/værdi, du har angivet - på denne måde vil du ikke have en massiv sletning og i stedet være i stand til at sprede belastningen mere over tid.



  1. Får Redis Master-adresse fra Sentinel C#

  2. Play-Framework 2.4.x brugt med MongoDB og Java 8

  3. Kør et R-script ved opstart

  4. brew install mongodb fejl:Fej at nægte at `sudo brew install' Mac OSX Lion