sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB se velmi pomalu maže

To se děje, protože i když

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

vypadá jako jeden příkaz, který ve skutečnosti pracuje s mnoha dokumenty – tolik, kolik vyhovuje tomuto dotazu.

Když používáte replikaci, každá operace změny musí být zapsána do speciální kolekce v local databáze s názvem oplog.rs - zkráceně oplog.

Oplog musí mít záznam pro každý smazaný dokument a každý z těchto záznamů musí být aplikován na oplog na každém sekundárním, než může také odstranit stejný záznam.

Jedna věc, kterou mohu doporučit, abyste zvážili, je indexy TTL - budou "automaticky" mazat dokumenty na základě data vypršení platnosti/hodnoty, kterou nastavíte - tímto způsobem nebudete mít jedno masivní smazání a místo toho budete moci více rozložit zatížení v průběhu času.



  1. Jak provedete dotaz AND na pole v mongodb?

  2. Při streamování velkého souboru dochází k nedostatku paměti v JavaScriptu

  3. Požadavek REST AJAX na mongoDB

  4. Jak získat přístup k localhost hostitele z clusteru kubernetes