MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

MongoDB bardzo wolno usuwa

Dzieje się tak, ponieważ chociaż

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

wygląda jak pojedyncze polecenie, które faktycznie działa na wielu dokumentach - tyle, ile spełnia to zapytanie.

Kiedy używasz replikacji, każda operacja zmiany musi być zapisana w specjalnej kolekcji w local baza danych o nazwie oplog.rs - oplog w skrócie.

Oplog musi mieć wpis dla każdego usuniętego dokumentu, a każdy z tych wpisów musi zostać zastosowany do oploga na każdym wtórnym, zanim będzie mógł usunąć ten sam rekord.

Jedną rzeczą, którą mogę zasugerować, jest indeksy TTL - "automatycznie" usuną dokumenty na podstawie ustawionej daty/wartości wygaśnięcia - w ten sposób nie będziesz mieć jednego masowego usunięcia, a zamiast tego będziesz mógł rozłożyć obciążenie w czasie.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb findOne z wyjaśnieniem

  2. Czy można mongodumpować ostatnie x rekordów z kolekcji?

  3. BsonValue i niestandardowe klasy w MongoDB C# Driver

  4. MongoDB GridFS - Czy to nazwa pliku czy nazwa pliku?

  5. Jak uzyskać Spring-Data-MongoDB, aby zweryfikować moje obiekty?